js針對unicode不一樣進制之間的轉換

在項目中,對調用第三方返回的數據進行解析 , 形如 创刊号 的編碼轉utf8 ;編碼

第一步, 先轉換成十六進制,代碼以下;.net

/**
        * 
        * @description 轉成十六進制的Unicode
        * @author guoyc
        * @param {Object} str
        */
       function strToHex(str){
            var val="";
                for(var i = 0; i < str.length; i++){
                    if(val == "")
                    val = "\\u" +Number(str.charCodeAt(i)).toString(16);
              else
                    val += ","+"\\u" + Number(str.charCodeAt(i)).toString(16);
                }
         
             return val;
        }
         code

第二步,再還原成十進制,代碼以下;         
        /**
         * @description 還原回十進制的
         * @author guoyc
         * @param {Object} str
         */
        function hexToStr(str){
            var val="";
                var arr = str.split(",");
                for(var i = 0; i < arr.length; i++){
                    arr[i] =  arr[i].replace("\\u","")
                    val += String.fromCharCode(parseInt(arr[i],16).toString(10));
            }
         
            return val;
        }blog

 

原文連接以下:https://blog.csdn.net/qq_30938705/article/details/84765668ip

相關文章
相關標籤/搜索