node.js使用iconv-lite和zlib解决gzip压缩和gbk乱码
时间:2014-05-08 12:19:22
收藏:0
阅读:851
安装插件request,iconv-lite。zlib內置。
1、设置请求参数中的encoding为null,这样传入回调函数中的body将是一个buffer。(默认为utf8编码)
2、用zlib.gunzip()方法对body进行解压,解压的到的依然是个buffer。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 |
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。
|
1 |
var
data = iconv.decode(data, ‘gbk‘); |
评论(0)