展开目录
nodejs处理gb2312编码
nodejs中文
X
陈尼玛的博客
记录开发生涯的踩坑经历,用时间来验证成长
加载中

现代网站基本都是utf8编码的,但是一些老的网站还是基于gb2312的,比如 ip查地理位置 的网站编码是gb2312的。然而nodejs官方没提供gb2312的处理,所以就找第三方扩展来解决了。

我使用的是iconv-lite,直接npm安装就行了,windows和linux都可以直接用,因为它是完全用js写的,原理是通过字符的编码数字提取字符集表中的对应文字,见 encodings/tables下的json文件。

npm install iconv-lite

一个简单的测试脚本提取ip地理位置:

var lib=require('./lib');
var iconv=require('./iconv-lite');
lib.get('http://www.ip138.com/ips138.asp?ip=121.42.200.35&action=2',{
  'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36'
}).then(
function(a){
  iconv.decode(a,'gb2312').replace(/class="ul1"[^>]*>|(?:\s*<li>[^:]+:\s*(\S+).+?<\/li>\s*)|<\/ul>/g,function(a,b){
      b && console.log(b);
  });
},
function(a){console.log('failed')}
);

相关文档

暂无

随便看看

  1. sqlite 查看table的构建语句

  2. css3自定义滚动条样式

  3. 华为等国产手机rem宽度超过实际宽度

  4. nginx 子域名对应文件夹

  5. nodejs socks5

  6. heroku登陆cli

  7. 模拟307跳转情况

  8. webrtc服务搭建

  9. 单页应用的单向数据流的流程图

  10. webpack使用外部资源

  11. git配置服务端支持http认证

  12. 把树莓派的存储空间拓展到整张TF卡中

  13. mysql导出csv文件

  14. mac搜索局域网内的主机

  15. 树莓派配置收发邮件

  16. mysql选取内容导出到文件

  17. 前端性能观察器

畅言模块加载中