let str = '中文内容' //待转换中文
escape(str ).replace(/(%u)(\w{4})/gi, "$2")
UTF-8转中文:
let str = '徐恒' //待转换UTF-8
unescape(str .replace(//g, '%u').replace(//g, ''))
//--------把中文字符转换成Utf8编码------------------------//function EncodeUtf8(s1)
{
var s = escape(s1)
var sa = s.split("%")
var retV =""
if(sa[0] != "")
{
retV = sa[0]
}
for(var i = 1 i < sa.length i ++)
{
if(sa[i].substring(0,1) == "u")
{
retV += Hex2Utf8(Str2Hex(sa[i].substring(1,5)))
}
else retV += "%" + sa[i]
}
return retV
}
function Str2Hex(s)
{
var c = ""
var n
var ss = "0123456789ABCDEF"
var digS = ""
for(var i = 0 i < s.length i ++)
{
c = s.charAt(i)
n = ss.indexOf(c)
digS += Dec2Dig(eval_r(n))
}
//return value
return digS
}
function Dec2Dig(n1)
{
var s = ""
var n2 = 0
for(var i = 0 i < 4 i++)
{
n2 = Math.pow(2,3 - i)
if(n1 >= n2)
{
s += '1'
n1 = n1 - n2
}
else
s += '0'
}
return s
}
function Dig2Dec(s)
{
var retV = 0
if(s.length == 4)
{
for(var i = 0 i < 4 i ++)
{
retV += eval_r(s.charAt(i)) * Math.pow(2, 3 - i)
}
return retV
}
return -1
}
function Hex2Utf8(s)
{
var retS = ""
var tempS = ""
var ss = ""
if(s.length == 16)
{
tempS = "1110" + s.substring(0, 4)
tempS += "10" + s.substring(4, 10)
tempS += "10" + s.substring(10,16)
var sss = "0123456789ABCDEF"
for(var i = 0 i < 3 i ++)
{
retS += "%"
ss = tempS.substring(i * 8, (eval_r(i)+1)*8)
retS += sss.charAt(Dig2Dec(ss.substring(0,4)))
retS += sss.charAt(Dig2Dec(ss.substring(4,8)))
}
return retS
}
return ""
}
①.js文件中文显示乱码Javascript文件XX.js编辑保存时有一种编码方案(如GBK),当打开文件的时候所用的编码(如UTF-8)和保存时的编码方案不一致时,则会出现中文显示乱码。解决方案:(1)用编辑器打开浏览的时候,选择和原文件编码(如GBK)一致的编码方式查看,则不会出现乱码(2)在eclipse中的packageexplorer中选中乱码的XX.js,右键菜单中选择properties,在Textfileencoding中选择与XX.js编辑保存时的编码(如GBK),则可以正常显示②网站页面中JavaScript中中文字段乱码在eclipse或者编辑器中XX.js中中文显示正常,在页面调用XX.js,执行后页面结果中中文字段显示乱码。解决方案:在引用XX.js的页面上“显示”加上XX.js文件的编码方式,使之与XX.js文件的本身的编码方式(如GBK)保持一致。