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

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

感谢两位的回答,根据提示我自己写了个程序测试,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级讲师

Antworte allen(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编码。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage