在 XML 文档和 Mozilla 通用字符集检测器 (UCSD) 的不同实现中,出现了一个 BOM 序列,其中字节顺序或单词顺序是颠倒的,但不是两者都颠倒,他们称之为“不寻常的八位字节顺序” :
F.1 Detection Without External Encoding Information
...
00 00 FF FE UCS-4, unusual octet order (2143)
FE FF 00 00 UCS-4, unusual octet order (3412)
通用字符集检测器 (UCSD) 源(只是一个示例):
if (('\xFF' == aBuf[1]) && ('\x00' == aBuf[2]) && ('\x00' == aBuf[3]))
// FE FF 00 00 UCS-4, unusual octet order BOM (3412)
mDetectedCharset = "X-ISO-10646-UCS-4-3412";
else if (('\x00' == aBuf[1]) && ('\xFF' == aBuf[2]) && ('\xFE' == aBuf[3]))
// 00 00 FF FE UCS-4, unusual octet order BOM (2143)
mDetectedCharset = "X-ISO-10646-UCS-4-2143";
Known character sets
...
X-ISO-10646-UCS-4-2143
X-ISO-10646-UCS-4-3412
是否存在任何使用这种字节序的硬件,是否有这样的编码或 ISO 标准,是否有任何流行的库支持编码/解码?为什么这些序列不像任何其他无效序列一样被忽略?