nodejs &#x 5B89;编码转换中文

版权声明:本文为博主原创文章,欢迎转载,转载时请以超链接形式标明文章原始出处。 https://blog.csdn.net/lilongsy/article/details/84632795

形如

&name;
&#dddd;
&#xhhhh;

是 HTML、XML 等 SGML 类语言的转义序列(escape sequence)。它们不是「编码」。以 HTML 为例,这三种转义序列都称作 character reference:第一种是 character entity reference,后接预先定义的 entity 名称,而 entity 声明了自身指代的字符。
后两种是 numeric character reference(NCR),数字取值为目标字符的 Unicode code point;以「&#」开头的后接十进制数字,以「&#x」开头的后接十六进制数字。

从 HTML 4 开始,NCR 以 Unicode 为准,与文档编码无关。「中国」二字分别是 Unicode 字符 U+4E2D 和 U+56FD,十六进制表示的 code point 数值「4E2D」和「56FD」就是十进制的「20013」和「22269」。

var Entities = require('html-entities').XmlEntities;
entities = new Entities();
var str = '<p>&#x867D;&#x7136;</p>';

console.log(entities.decode(str)); //output <p>虽然</p>

参考:
https://segmentfault.com/q/1010000003500477/a-1020000011935125
https://www.jianshu.com/p/6dcefb2a59b2

猜你喜欢

转载自blog.csdn.net/lilongsy/article/details/84632795