La lista de codificaciones que el nodo admite de forma nativa es bastante corta:
- ascii
- base64
- maleficio
- ucs2 / ucs-2 / utf16le / utf-16le
- utf8 / utf-8
- binario / latin1 (ISO8859-1, latin1 solo en el nodo 6.4.0+)
Si está utilizando una versión anterior a 6.4.0, o no quiere tratar con codificaciones que no sean Unicode, puede volver a codificar la cadena:
Use iconv-lite para recodificar archivos:
var iconvlite = require('iconv-lite');
var fs = require('fs');
function readFileSync_encoding(filename, encoding) {
var content = fs.readFileSync(filename);
return iconvlite.decode(content, encoding);
}
Alternativamente, 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');
}