【发布时间】:2018-04-08 23:41:47
【问题描述】:
字节顺序掩码 (BOM) 使用 Unicode 字符 U+FEFF 根据以下规则确定文本文件的编码:
+-------------+-----------------------+
| Bytes | Encoding Form |
+-------------+-----------------------+
| 00 00 FE FF | UTF-32, big-endian |
| FF FE 00 00 | UTF-32, little-endian |
| FE FF | UTF-16, big-endian |
| FF FE | UTF-16, little-endian |
| EF BB BF | UTF-8 |
+-------------+-----------------------+
我的问题是:是否有任何字节组合可以使一种 UTF 编码与另一种 UTF 编码混淆?
例如,如果我有一个没有 BOM 且带有字符 U+EFBB 和 U+BF40 (EF BB BF 40) 的 UTF-16 大端编码文件,它会与带有 BOM 的 UTF-8 编码文件混淆吗和 ASCII 字符 @?
【问题讨论】:
标签: unicode utf-8 utf-16 byte-order-mark