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')); })