Các danh sách mã hóa mà hỗ trợ nút natively là khá ngắn:
- ascii
- cơ sở64
- lục giác
- ucs2 / ucs-2 / utf16le / utf-16le
- utf8 / utf-8
- binary / latin1 (ISO8859-1, latin1 chỉ trong nút 6.4.0+)
Nếu bạn đang sử dụng phiên bản cũ hơn 6.4.0 hoặc không muốn xử lý các mã hóa không phải là Unicode, bạn có thể mã hóa lại chuỗi:
Sử dụng iconv-lite để mã hóa lại các tệp:
var iconvlite = require('iconv-lite');
var fs = require('fs');
function readFileSync_encoding(filename, encoding) {
var content = fs.readFileSync(filename);
return iconvlite.decode(content, encoding);
}
Ngoài ra, sử dụng 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');
}