我想了解编码方面的知识,有好的书籍推荐吗,谢谢!!
感谢两位的回答,根据提示我自己写了个程序测试,OK的,还会不会有其他情况呢?
var code10, code16, zh;
code10 = '天堂向左,深圳向右';
zh = code10.replace(/&#(\d+);/g, function($, $1) {return String.fromCharCode($1)});
console.log(zh);
code16 = zh.replace(/[^\u0000-\u00ff]/g, function($) {return '&#x' + $.codePointAt(0).toString(16) + ';';});
console.log(code16);
zh = code16.replace(/&#x(\w+);/g, function($, $1) {return String.fromCharCode(parseInt($1, 16))});
console.log(zh);
開頭是十進位編碼,而轉為中文要注意的是中文是多字元編碼。可以使用javascript的函數
配合迴圈寫個小工具在前端就處理好再爬,例如`String.fromCharCode("天".substr(2),10)
得到"天"。
今天剛好寫了一個小工具,
https://github.com/hunnble/JavaScript_learning/blob/master/change-radix.html
在瀏覽器中開啟然後輸入你要轉碼的字元然後把進位選成10之後decode就可以了。
〹
這樣的實體中的數字12345
就是十進位表示的unicode編碼,轉換成對應的unicode字元就行了。如果是
ካ
這樣的,其中的12ab
就是十六進位表示的unicode編碼。