永发信息网

javascript转换hex到UTF8并显示出来

答案:3  悬赏:70  手机版
解决时间 2021-03-15 21:42
  • 提问者网友:書生途
  • 2021-03-15 12:09
我有一串字符“7465737420e6b58be8af95”是ascii +utf8编码的显示出来应该是
“test 测试”
请问怎样才能把上面的字符转换为汉字显示呢?
下面都是些啥啊 = =
补充一下吧
ascii码
0x74 = t
0x65 = e
0x73 = s
0x74 = t
0x20 = 空格
utf8
0xe6b58b 测
0xe8af95 试
要用js显示貌似需要把 UTF8转为unicode-16
就是
0x4b6d 测
0xd58b 试
最佳答案
  • 五星知识达人网友:独行浪子会拥风
  • 2021-03-15 13:03
很简单,每两个字符前面加一个%,然后用decodeURI转换就行了
文件必须存成utf-8格式
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=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=0;i<data.length;i+=2)
{
tmp += '%' + data.charAt(i) + data.charAt(i+1);
}
return tmp;
}
</script>
</div>
</body>
</html>
全部回答
  • 1楼网友:西岸风
  • 2021-03-15 14:41
parseInt("7465737420e6b58be8af95",16)
  • 2楼网友:等灯
  • 2021-03-15 14:28
&lt;html&gt;<br>&lt;head&gt;<br>&lt;script&gt;<br>function dec(s1)<br>  {<br>  var tmp2='';<br>    for(i=0;i&lt;s1.length;)<br>    tmp2+='%'+s1.substring (i,i+=2);<br>    return decodeURI(tmp2);<br>  }<br> alert( dec('7465737420e6b58be8af957465737420e6b58be8af95'));<br>&lt;/script&gt;<br>&lt;/head&gt;<br>&lt;/html&gt;
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯