我该如何找出给定文本文件的字符编码?
var inputFile = "filename.txt";
var file = fs.readFileSync(inputFile);
var data = new Buffer(file, "ascii");
var fileEncoding = some_clever_function(file);
if (fileEncoding !== "utf8") {
// do something
}
谢谢
我该如何找出给定文本文件的字符编码?
var inputFile = "filename.txt";
var file = fs.readFileSync(inputFile);
var data = new Buffer(file, "ascii");
var fileEncoding = some_clever_function(file);
if (fileEncoding !== "utf8") {
// do something
}
谢谢
您可以尝试使用外部模块,例如https://www.npmjs.com/package/detect-character-encoding
。该模块可以帮助您检测字符编码。之前提到的模块对我也适用。或者你可以看一下detect-file-encoding-and-language,这是我目前正在使用的。
安装:
$ npm install detect-file-encoding-and-language
用法:
// index.js
const languageEncoding = require("detect-file-encoding-and-language");
const pathToFile = "/home/username/documents/my-text-file.txt"
languageEncoding(pathToFile).then(fileInfo => console.log(fileInfo));
// Possible result: { language: japanese, encoding: Shift-JIS, confidence: { language: 0.97, encoding: 1 } }