码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2014-05-08 12:19:22      阅读:851      评论:0      收藏:0      [点我收藏+]

标签:blog   class   code   java   get   javascript   

 

安装插件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‘);

 

node.js使用iconv-lite和zlib解决gzip压缩和gbk乱码,布布扣,bubuko.com

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

标签:blog   class   code   java   get   javascript   

原文地址:http://www.cnblogs.com/koukabatsugun/p/3714217.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!