当前位置:首页 > Web开发 > 正文

在js中转16进制 使用的是: str.charCodeAt(i).toString(16); 在遇到中文的时候编码就会

2024-03-31 Web开发

  比来对接接口的时候需要将请求参数转为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)

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/33183.html