Endianness。如果编码单元不是单个字节,则随机器体系结构的不同,可以按两种方式写入:big endian(最重要的字节在先),或者 little endian(最不重要的字节在先)。对于现在的微处理器速度而言,这不是什么大问题,但在 Unicode 当初被采用的时候,BE 和 LE 两种格式还是需要的。
表 2:UTF 的序列化
UTF-8 最开头的 EF BB BF 是一个标记,表明文件的其余部分是 UTF-8。
任何 EF BF BE 都是错误。
文件开头的真正的 ZWNBSP 首先需要一个标记。
UTF-8N 全部文本都是正常的 UTF-8,没有标记。
开头的 EF BB BF 是 ZWNBSP。
任何 EF BF BE 都是错误。
UTF-16 开头的 FE FF 是一个标记,表明文本的其余部分是 big endian UTF-16。
开头的 FF FE 是一个标记,表示文本的其余部分是 little endian UTF-16。
如果这两个标记都不存在,则全部文本都是 big endian。
文件开头的真正的 ZWNBSP 首先需要一个标记。
UTF-16BE 全部文本都是 big endian:没有标记。
开头的 FE FF 是 ZWNBSP。
任何 FF FE 都是错误的。
UTF-16LE 全部文本都是 little endian:没有标记。
开头的 FF FE 是 ZWNBSP。
任何 FE FF 都是错误。
UTF-32 开头的 00 00 FE FF 是一个标记,表明文本的其余部分是 big endian UTF-32。
开头的 FF FE 00 00 是一个标记,表明文本的其余部分是 little endian UTF-32。
如果这两个标记都不存在,则全部文本都是 big endian。
文件开头的真正的 ZWNBSP 首先需要一个标记。
UTF-32BE 全部文本都是 big endian:没有标记。
开头的 00 00 FE FF 是 ZWNBSP。
任何 FF FE 00 00 都是错误。
UTF-32LE 全部文本都是 little endian:没有标记。
开头的 FF FE 00 00 是 ZWNBSP。
开头的 00 00 FE FF 是错误。