随身笔记
随身笔记

node.js将html字符实体编码转化成可识别的简体中文汉字

node.js html 实体 编码 转化 汉字 中文

如果在node.js后台输出的内容是:

  £€

其实这些不是乱码,只是html实体编号

了解html字符实体:可以参考 https://sdeno.com/?p=5463

把html字符实体转化成中文可以使用如下代码(适用于node.js服务器端):

function htmlDecode(str) { 
 // 一般可以先转换为标准 unicode 格式(有需要就添加:当返回的数据呈现太多\\\u 之类的时)
 str = unescape(str.replace(/\\u/g, "%u"));
 // 再对实体符进行转义
 // 有 x 则表示是16进制,$1 就是匹配是否有 x,$2 就是匹配出的第二个括号捕获到的内容,将 $2 以对应进制表示转换
 str = str.replace(/&#(x)?(\w+);/g, function($, $1, $2) {
 return String.fromCharCode(parseInt($2, $1? 16: 10));
 });

 return str;
}

以上代码是服务器端,如果想运用在客户端上的可以参考:《javascript实现unicode与ASCII相互转换的方法

 

http://www.cnblogs.com/zichi/p/5135636.html

没有标签
首页      nodejs笔记      node.js将html字符实体编码转化成可识别的简体中文汉字

随身笔记

node.js将html字符实体编码转化成可识别的简体中文汉字
node.js html 实体 编码 转化 汉字 中文 如果在node.js后台输出的内容是:  £€ 其实这些不是乱码,只是html实体编号 了解html字符实体:可以参考 h…
扫描二维码继续阅读
2016-10-23