您的位置:首页 > Web前端 > Node.js

node.js使用iconv-lite和zlib解决gzip压缩和gbk乱码

2014-05-07 17:22 239 查看
安装插件request,iconv-lite。zlib內置。

1、设置请求参数中的encoding为null,这样传入回调函数中的body将是一个buffer。(默认为utf8编码)

2、用zlib.gunzip()方法对body进行解压,解压的到的依然是个buffer。

request({
uri: url,
method: 'GET',
timeout: 5000,
encoding: null
}, function(error, response, body){
if(!error && response.statusCode == 200) {
if(response.headers['content-encoding'] == 'gzip'){
zlib.gunzip(body, function(err, dezipped){
callback(dezipped);
});
} else {
callback(body);
}
}
});


3、将特定编码的buffer用iconv.decode()方法解码为string。

var data = iconv.decode(data, 'gbk');
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: