-1

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

我正在使用 feedparser 和 request,问题是编码是 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 = ן¿½ן¿½ן¿½ן¿½ן¿½!ן¿½ן¿½ן¿½ן¿½ן¿½ - ן¿½ן¿½ן¿½ן¿½ן¿½

4

2 回答 2

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

}

于 2016-07-12T14:14:36.580 回答
0

您可以使用iconv或之类的模块iconv-lite在编码之间进行转换,因为当前 node 仅原生支持 utf8、utf16le、latin1/binary、ascii、hex 和 base64。

于 2016-07-12T13:47:50.733 回答