JS utf8 в строку windows1255
Я уже давно пытаюсь преобразовать строку utf8 в строку windows-1255. Я придумал этот код:
var fs = require('fs');
var Iconv = require('iconv').Iconv;
var iconvlite = require('iconv-lite');
var windows1255 = require('windows-1255');
/////////////////// Attempting to converted from utf-8 to windows-1255
function encode(content) {
var iconv = new Iconv('UTF-8', 'CP1255//TRANSLIT//IGNORE');
var buffer2 = iconv.convert(content);
return buffer2;
//return buffer.toString('ISO-88591-1'); // toString cannot convert in the encoding windows1255
};
var buffer3 = new Buffer(encode(fs.readFileSync('/home/USER/git/npm-test-1/utf8.txt')));
console.log(buffer3);
//str = iconvlite.decode(buffer3, 'win1255');
str = iconvlite.decode(buffer3, "1255");
console.log(str);
fs.writeFile("/home/USER/git/npm-test-1/windows-1255.txt", str, function(err) {
if(err) {
return console.log(err);
}
console.log("The file was saved!");
});
Единственная проблема на последнем шаге, когда я пытаюсь преобразовать из буфера в строку. Он преобразует это хорошо, но в строку кодирования utf8:|
Это ошибка?
Есть ли способ обойти это? Мне действительно нужна строка windows-1255, а не буфер.
- Кто-нибудь знает способ сделать это?