js支持中文的hex编码 bin2hex (utf-8)
Posted 百科全输
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js支持中文的hex编码 bin2hex (utf-8)相关的知识,希望对你有一定的参考价值。
背景:
最近对接接口的时候需要将请求参数转为16进制,因此研究了下这个bin2hex。在js中转16进制 使用的是:
str.charCodeAt(i).toString(16);
在遇到中文的时候编码就会不一致,因此需要特殊对待中文
function bin2Hex(str) { var re = /[u4E00-u9FA5]/; var ar = []; for (var i = 0; i < str.length; i++) { var a = ‘‘; if (re.test(str.charAt(i))) { // 中文 a = encodeURI(str.charAt(i)).replace(/%/g, ‘‘); } else { a = str.charCodeAt(i).toString(16); } ar.push(a); } str = ar.join(""); return str; }
以上是把%过滤掉了,如不不要过滤就把replace方法去掉即可
以上是关于js支持中文的hex编码 bin2hex (utf-8)的主要内容,如果未能解决你的问题,请参考以下文章