Asi*_*oso 1 javascript utf-8 fs node.js
我正在尝试将文本从 ANSI 编码文件转换为 node.js 中的 UTF8 编码文本。
我正在使用节点的核心 Fyle 系统从文件中读取信息。有什么方法可以“告诉” readFile 编码是 ANSI?
fs = require('fs');
fs.readFile('..\\\\LogSSH\\' + fileName + '.log', 'utf8', function (err, data) {
if (err) {
console.log(err);
}
Run Code Online (Sandbox Code Playgroud)
如果没有,我该如何转换该文本?
当然,ANSI 实际上并不是一种编码。但无论我们谈论的是什么确切的编码,我都看不到任何 Microsoft 代码页包含在Buffers and Character Encodings中记录的相对较短的列表中:
ascii- 仅适用于 7 位 ASCII 数据。这种编码速度很快,如果设置,将剥离高位。
utf8- 多字节编码的 Unicode 字符。许多网页和其他文档格式使用 UTF-8。
utf16le- 2 或 4 个字节,小端编码的 Unicode 字符。支持代理对(U+10000 到 U+10FFFF)。
ucs2 - 'utf16le' 的别名。
base64- Base64 编码。从字符串创建缓冲区时,此编码还将正确接受 RFC4648 第 5 节中指定的“URL 和文件名安全字母表”。
latin1 - 一种将缓冲区编码为单字节编码字符串的方法(由 IANA 在 RFC1345 第 63 页中定义,作为 Latin-1 补充块和 C0/C1 控制代码)。
binary - 'latin1' 的别名。
hex - 将每个字节编码为两个十六进制字符。
如果您在西欧工作,您可能会想将latin1其用作 Windows-1252 的同义词,但只要您打印€符号,它就会呈现不正确的结果。
所以答案是否定的,您需要安装像iconv-lite这样的第三方软件包。