node.js - 做爬虫时,偶尔会爬到这样的内容天堂向左,如何转为中文?
PHP中文网
PHP中文网 2017-04-17 13:23:21
0
2
581

我想了解编码方面的知识,有好的书籍推荐吗,谢谢!!

感谢两位的回答,根据提示我自己写了个程序测试,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);
PHP中文网
PHP中文网

认证0级讲师

全部回覆(2)
刘奇

開頭是十進位編碼,而轉為中文要注意的是中文是多字元編碼。可以使用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就可以了。

PHPzhong

〹這樣的實體中的數字12345就是十進位表示的unicode編碼,轉換成對應的unicode字元就行了。

如果是ካ這樣的,其中的12ab就是十六進位表示的unicode編碼。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板