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方法去掉即可


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM