nodejs默认支持的几种编码格式为 utf8,base64,binary, 若是咱们要请求或者处理GBK或者Gb2312的页面/文件咱们就须要转码.node
不管GB2312仍是utf8,在计算机中存储的时候都是用二进制编码进行存储,那为何计算机又能正确的显示汉子呢?这就是这几种编码格式的做用,他们规定了如何将二进制翻译成汉字或者汉字翻译成二进制的规则ui
将GBK编码的二进制转换为通用的二进制编码
将GBK编码的字符串转换为通用的二进制翻译
获取3或4的通用二进制代码 toString("utf8")就能拿到utf8编码的字符code
//一下代码仅为参考,不必定能运行 //携程网的编码为GB2312 var request = require("request"); var iconv = require('iconv-lite'); //这里的encoding 要传null,这样返回的是二进制代码 request.get("http://www.ctrip.com", {encoding: null}, function(err, resp, bufs) { if (err) throw err; //进行解码 bufs = iconv.decode(bufs, 'gb2312'); //转为utf8 console.info(bufs.toString('utf8')); })