js 如何把unicode字符串显示为中文

JavaScript09

js 如何把unicode字符串显示为中文,第1张

写过编码转换与反转换,以下两个函数可以直接套用

function stringtocode(name){//字符转换为编码用“,”隔开每个字符

var result=String()

if(name==''||name==undefined) return name

for(var i=0i<name.lengthi++){

result+=name.charCodeAt(i)+","

}

result=result.substring(0,result.length-1)

return result

}

function codetostring(cod){//编码转换成字符,编码之间用,分开

var result=String(),a=new Array()

a=cod.split(",")

for(var i=0i<a.lengthi++)

result+=String.fromCharCode(parseInt(a[i]))

return result

}

很简单,每两个字符前面加一个%,然后用decodeURI转换就行了

文件必须存成utf-8格式

<html><head>

<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8" />

</head>

<body>

<div id="d1">

<script type="text/javascript">

var hi = '7465737420e6b58be8af95'

//var hj = '%74%65%73%74%20%e6%b5%8b%e8%af%95'

var hj = prePro(hi)

document.write(hi)

document.write('<br />')

document.write(hj)

document.write('<br />')

document.write(decodeURI(hj))

function prePro(data)

{

if (data.length % 2) return ''

var tmp=''

for(i=0i<data.lengthi+=2)

{

tmp += '%' + data.charAt(i) + data.charAt(i+1)

}

return tmp

}

</script>

</div>

</body>

</html>

不用转换,直接用,就可以了。

可以试试

var a ='\u5a92\u5927\u5b66'

alert(a)

document.body.innerHTML=a

不论是alert,还是直接放到innerHTML里,都可以用的,前提是要通过脚本来使用。