我有我的功能将字符串转换为十六进制:
function encode(str){
str = encodeURIComponent(str).split('%').join('');
return str.toLowerCase();
}
Run Code Online (Sandbox Code Playgroud)
例:
????
alert(encode('????'));
输出将是:
e5ae88e68aa4e69d91e5ad90
它适用于汉字.但是当我用英文字母做的时候
alert(encode('Hello World'));
它输出:
hello20world
我试过这个将字符串转换为十六进制:
function String2Hex(tmp) {
var str = '';
for(var i = 0; i < tmp.length; i++) {
str += tmp[i].charCodeAt(0).toString(16);
}
return str;
}
Run Code Online (Sandbox Code Playgroud)
然后尝试上面的中文字符,但它输出UTF-8 HEX:
5b8862a467515b50
不是ANSI Hex:
e5ae88e68aa4e69d91e5ad90
我也搜索过将UFT8转换为ANSI但没有运气.有人可以帮帮我吗?谢谢!