首页 > 代码库 > node.js使用iconv-lite和zlib解决gzip压缩和gbk乱码
node.js使用iconv-lite和zlib解决gzip压缩和gbk乱码
安装插件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 = http://www.mamicode.com/iconv.decode(data, ‘gbk‘ ); |
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。