A lista de codificações que o nó suporta nativamente é bastante curta:
- ascii
- base64
- hex
- ucs2 / ucs-2 / utf16le / utf-16le
- utf8 / utf-8
- binário / latin1 (ISO8859-1, latin1 apenas no nó 6.4.0+)
Se você estiver usando uma versão anterior à 6.4.0 ou não quiser lidar com codificações não-Unicode, poderá recodificar a sequência:
Use iconv-lite para recodificar arquivos:
var iconvlite = require('iconv-lite');
var fs = require('fs');
function readFileSync_encoding(filename, encoding) {
var content = fs.readFileSync(filename);
return iconvlite.decode(content, encoding);
}
Como alternativa, use iconv :
var Iconv = require('iconv').Iconv;
var fs = require('fs');
function readFileSync_encoding(filename, encoding) {
var content = fs.readFileSync(filename);
var iconv = new Iconv(encoding, 'UTF-8');
var buffer = iconv.convert(content);
return buffer.toString('utf8');
}