Node.js转化GBK编码 - iconv-lite

Posted gavanwanggw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Node.js转化GBK编码 - iconv-lite相关的知识,希望对你有一定的参考价值。

node当使用node获取GBK编码的数据时,nodejs仅仅支持utf-8,node没有提供转换编码的原生支持,有倒是有一个模块iconv能干这个事,但须要本地方法,VC++库的支持。国外有个大牛写了一个纯粹用javascript解码的模块:iconv-lite,能够实现编码转换。用法例如以下:

var http = require("http");
var iconv = require("iconv-lite");
var url = "http://hq.sinajs.cn/list=sh600595";
var req = http.request(url, function(res){
    res.on(‘data‘,function(data){
        data = iconv.decode(data, ‘GBK‘);
        console.log(""+data);
    });
});
req.end();

这是一个获取sina上股票行情的api,GBK编码的。假设不转换,中文输不出来,例如以下:
技术分享

使用iconv-lite后,即iconv.decode方法后。输出例如以下:
技术分享



以上是关于Node.js转化GBK编码 - iconv-lite的主要内容,如果未能解决你的问题,请参考以下文章

Java工程编码格式由GBK转化成utf-8(编码格式互转)

Java工程编码格式由GBK转化成utf-8(编码格式互转)

解决Node.js 运行的时候出现中文乱码问题

express app.js怎么抓取非utf-8编码格式的页面或js

node读取本地文件中文乱码

Java字符编码的转化问题