我有我的函數的字符串轉換爲十六進制:使用Javascript - 編碼字符串爲十六進制
function encode(str){
str = encodeURIComponent(str).split('%').join('');
return str.toLowerCase();
}
例如:
守護村子
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;
}
然後試圖在上述中國漢字,但它輸出的UTF-8十六進制:
5b8862a467515b50
不是ANSI十六進制:
e5ae88e68aa4e69d91e5ad90
我還搜查轉換UFT8到ANSI,但沒有運氣。 任何人都可以幫助我?謝謝!
檢查出這個【答案】(http://stackoverflow.com/questions/21647928/javascript- Unicode的字符串到十六進制)。我想這可能是你要找的。 – nlloyd
謝謝,但它不是答案,它類似於上面的'String2Hex'函數,它給出utf8十六進制代碼,而不是ansi十六進制代碼。不過謝謝。 –
嘗試使用'tmp = unescape(encodeURIComponent(str))'將文本轉換爲latin1' –