我想了解编码方面的知识,有好的书籍推荐吗,谢谢!!
感谢两位的回答,根据提示我自己写了个程序测试,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);
怪我咯2017-04-17 13:25:21
开头是十进制编码,而转为中文需要注意的是中文是多字符编码。可以使用javascript的函数
String.fromCharCode(str.substr(2),10)
配合循环写个小工具在前端就处理好再爬,例如`String.fromCharCode("天".substr(2),10)
得到"天"。
今天正好写了一个小工具,
https://github.com/hunnble/JavaScript_learning/blob/master/change-radix.html
在浏览器中打开然后输入你要转码的字符然后把进制选成10之后decode就可以了。
PHPz2017-04-17 13:25:21
〹
这样的实体中的数字12345
就是十进制表示的unicode编码,转换成对应的unicode字符就行了。
如果是ካ
这样的,其中的12ab
就是十六进制表示的unicode编码。