我正在尝试像这样解析希伯来语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 =ן¿½ן¿½ן¿½ן¿½ן¿½! ן¿½ן¿½ן¿½ן¿½ן¿½ - ן¿½ן¿½ן¿½ן¿½ן¿½
答案 0 :(得分:0)
您可以使用iconv
或iconv-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);
});
});
}