>  기사  >  웹 프론트엔드  >  nodejs iconv의 인코딩이 잘못되었습니다.

nodejs iconv의 인코딩이 잘못되었습니다.

高洛峰
高洛峰원래의
2016-11-22 16:53:301926검색

인코딩 변환에 대해서는 아마도 인터넷에서 이런 식으로 사용된다는 것을 배웠을 것입니다

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


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.