4

我一直在使用 node's fs.readFileSync()"utf8"作为编码传递给读取输入。当文件包含 UTF8 (0xEF 0xBF 0xBB) 中的BOM 字符时,它会将其转换为字节序列 0xFE 0xFF,即 Unicode 编码。

为什么这样做?为什么不将 BOM 的原始序列保留在 UTF8 中?

4

1 回答 1

4

BOM 是字符 U+FEFF。0xEF 0xBB 0xBF 是它的 UTF-8 表示。但是通过使用 utf8 编码读取,您正在解码UTF-8。此时,谈论“字节序列”变得毫无意义;你有一串字符,其中第一个是 U+FEFF。

于 2013-07-20T00:57:30.420 回答