js字符串与十六进制的相互转换发现网上的示例有点问题,并且没有考虑到中文,重新优化了下:
1、字符串转换为十六进制
function stringToHex (str,joinFlag){
var arr = [];
for (var i = 0; i < str.length; i++) {
arr[i] = (str.charCodeAt(i).toString(16));
}
return arr.join(joinFlag);
}
调用方法:var hexStr = stringToHex("hello world",",");
2、十六进制转换为字符串
function hexToString (str,splitFlag){
var arr = str.split(splitFlag);
var temp_arr = [],numX;
for(var i= 0,len = arr.length;i<len;i++){
numX = parseInt(arr[i], 16);//10进制;
temp_arr[i] = String.fromCharCode(numX);
}
return temp_arr.join("");
}
调用方法:var str= hexToString (hexStr ,",");