码迷,mamicode.com
首页 > Web开发 > 详细

js支持中文的hex编码 bin2hex (utf-8)

时间:2019-12-24 13:45:49      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:过滤   中文   cti   不一致   style   turn   使用   encodeuri   enc   

背景:

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

标签:过滤   中文   cti   不一致   style   turn   使用   encodeuri   enc   

原文地址:https://www.cnblogs.com/baikouLoser/p/12090748.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!