将rss编码从Windows 1255转换为utf 8节点js

时间:2016-07-12 12:25:44

标签: node.js utf-8 rss converter windows-1255

我正在尝试像这样解析希伯来语rss: http://rss.walla.co.il/?w=/3/0/12/@rss.e

我正在使用feedparser并请求,问题是编码是windows-1255而不是UTF-8

所以我看到的文字如下: ,而不是像普通的希伯来文。

我尝试了一些转换器(比如iconv-lite),但我没有成功。

这是我的代码:

function getAll(URL) {
var request = require('request');
request(URL, function (error, response, body) {
    if (!error && response.statusCode == 200) {
        var allXML = body.substring(body.indexOf('<title>') + ('<title>').length, body.indexOf('</title>'));
        var text = iconv.decode(new Buffer(allXML), 'win1255');
        console.log("text = ", text);
    }
})

}

这就是它打印的内容: text =ן¿½ן¿½ן¿½ן¿½ן¿½! ן¿½ן¿½ן¿½ן¿½ן¿½ - ן¿½ן¿½ן¿½ן¿½ן¿½

2 个答案:

答案 0 :(得分:0)

您可以使用iconviconv-lite等模块在编码之间进行转换,因为当前节点本身仅支持utf8,utf16le,latin1 / binary,ascii,hex和base64。

答案 1 :(得分:0)

我使用了这个来源:github

function getText(URL) {
http.get(URL, function(res) {
    var chunks = [];
    res.on('data', function(chunk) {
        chunks.push(chunk);
    });
    res.on('end', function() {
        var decodedBody = iconv.decode(Buffer.concat(chunks), 'win1255');
        console.log(decodedBody);
    });
});

}