인코딩 변환에 대해서는 아마도 인터넷에서 이런 식으로 사용된다는 것을 배웠을 것입니다
var fs = require("fs"); var iconv=require("iconv-lite"); var request=require("request"); var txt=fs.readFileSync("./a.txt","utf8"); iconv.decode(txt,"gbk") request("http://jd.com",function(err,res,body){ console.log(iconv.decode(body,"gbk")) });
위 출력 결과는 여전히 왜곡되어 gbk를 디코딩할 수 없습니다. 먼저 최신 iconv는 문자열을 지원하지 않습니다. 디코딩
최신 공식 문서를 확인하고 올바른 디코딩 방법은 다음과 같습니다
var fs = require("fs"); var iconv=require("iconv-lite"); var request=require("request"); var txt=fs.readFileSync("./a.txt"); iconv.decode(txt,"gbk") request("http://jd.com") .pipe(iconv.decodeStream('gbk')) .collect(function(err, decodedBody) { fs.writeFile("./jd.txt",decodedBody); });