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

相关文章
相关标签/搜索