javascript - 使用文件系统将 ANSI 文件文本转换为 node.js 中的 UTF8

标签 javascript node.js utf-8 fs

我正在尝试将文本从 ANSI 编码文件转换为 node.js 中的 UTF8 编码文本。

我使用 Node 的核心 Fyle 系统从文件中读取信息。有什么方法可以“告诉”readFile 编码是 ANSI 吗?

fs = require('fs');
        fs.readFile('..\\\\LogSSH\\' + fileName + '.log', 'utf8', function (err, data) {
            if (err) {
                console.log(err);
            }

如果没有,我该如何转换该文本?

最佳答案

当然,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 - 一种将 Buffer 编码为单字节编码字符串的方法(如 IANA 在 RFC1345 第 63 页中定义的那样,是 Latin-1 补充 block 和 C0/C1 控制代码)。

  • binary - “latin1”的别名。

  • hex - 将每个字节编码为两个十六进制字符。

如果您在西欧工作,您可能会想使用 latin1 作为 Windows-1252 的同义词,但一旦您打印出 ,它就会呈现不正确的结果符号。

所以答案是否定的,需要安装第三方包,如iconv-lite .

关于javascript - 使用文件系统将 ANSI 文件文本转换为 node.js 中的 UTF8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41124917/

相关文章:

php - Redis 多个连接以 TIME_WAIT 状态打开

javascript - 将比较数组传递给 JavaScript 中的过滤函数

javascript - 使用express.js在收到http请求后执行函数?

javascript - 使用@触发自动完成

javascript - res.json 不在回调函数内工作

iphone - iPhone sqlite3_column_text问题

javascript - 如何防止 UTF-8 字符变成垃圾?

utf-8 - 生成文件可以包含 UTF8 字符吗?

javascript - removeChild() 无法使用 easeljs

javascript - React 未在工作代码中定义