javascript转换hex到UTF8并显示出来

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript转换hex到UTF8并显示出来相关的知识,希望对你有一定的参考价值。

我有一串字符“7465737420e6b58be8af95”是ascii +utf8编码的显示出来应该是
“test 测试”
请问怎样才能把上面的字符转换为汉字显示呢?
下面都是些啥啊 = =
补充一下吧
ascii码
0x74 = t
0x65 = e
0x73 = s
0x74 = t
0x20 = 空格
utf8
0xe6b58b 测
0xe8af95 试
要用js显示貌似需要把 UTF8转为unicode-16
就是
0x4b6d 测
0xd58b 试

很简单,每两个字符前面加一个%,然后用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>
参考技术A parseInt("7465737420e6b58be8af95",16) 参考技术B <html>
<head>
<script>
function dec(s1)

var tmp2='';
for(i=0;i<s1.length;)
tmp2+='%'+s1.substring (i,i+=2);
return decodeURI(tmp2);

alert( dec('7465737420e6b58be8af957465737420e6b58be8af95'));
</script>
</head>
</html>

JavaScript RGB到HEX转换器

function rgb2hex(r,g,b) {
  var rgb = [r.toString(16),g.toString(16),b.toString(16)]
  for (var i=0;i&lt;3;i++) {
    if (rgb[i].length==1) rgb[i]=rgb[i]+rgb[i];
  }
  if(rgb[0][0]==rgb[0][1] &amp;&amp; rgb[1][0]==rgb[1][1] &amp;&amp; rgb[2][0]==rgb[2][1])
    return '#'+rgb[0][0]+rgb[1][0]+rgb[2][0];
  return '#'+rgb[0]+rgb[1]+rgb[2];
}

// Example
var hex = rgb2hex(255, 170, 0);
document.write(&quot;&lt;pre&gt;rgb(255,170,0) \u2192 &quot;+hex+&quot;&lt;/pre&gt;&quot;);

以上是关于javascript转换hex到UTF8并显示出来的主要内容,如果未能解决你的问题,请参考以下文章

RGB 到 HEX 转换 JavaScript [重复]

如何用JS将一段十六进制(HEX)字符串转换为汉字?

JavaScript RGB到HEX转换器

用于 JavaScript 的 HEX 到 Base64 转换器

javascript RGB转换为HEX十六进制

nodejs中的十六进制到字符串和字符串到十六进制的转换