UTF-8 是否有固定的字节顺序
Does UTF-8 have fixed bytes order
我听说我不必将 BOM 放在 UTF-8 文件/流的开头。
那么它有固定的字节顺序吗?
在这种情况下,UTF-16 和 UTF-32 怎么样?
UTF-8 不需要字节顺序,因为它是根据字节流定义的。顺序由单个字节的地址直接给出。不同数量的字节组成一个代码点。
另一方面,UTF-32 是根据 32 位单元流(即每个 4 字节,每个直接映射到 Unicode 代码点)定义的,可以用不同的方式将其编码为字节流。
这就是 BOM 为您指示的内容,基本上字节是按其重要性排序(即流中最早的字节是最不重要的,小端)还是相反(即最早的字节是最重要的)重要的,大端)。
UTF-16 类似,但更有趣。它被定义为一个 16 位单元的流,所以你不得不担心字节顺序。此外,由于单个 16 位单元(不再)足以编码所有 Unicode,因此它也是一种多重 "unit" 编码,因此结合了 UTF-8 和 UTF-32 的缺点 :)
我听说我不必将 BOM 放在 UTF-8 文件/流的开头。
那么它有固定的字节顺序吗?
在这种情况下,UTF-16 和 UTF-32 怎么样?
UTF-8 不需要字节顺序,因为它是根据字节流定义的。顺序由单个字节的地址直接给出。不同数量的字节组成一个代码点。
另一方面,UTF-32 是根据 32 位单元流(即每个 4 字节,每个直接映射到 Unicode 代码点)定义的,可以用不同的方式将其编码为字节流。
这就是 BOM 为您指示的内容,基本上字节是按其重要性排序(即流中最早的字节是最不重要的,小端)还是相反(即最早的字节是最重要的)重要的,大端)。
UTF-16 类似,但更有趣。它被定义为一个 16 位单元的流,所以你不得不担心字节顺序。此外,由于单个 16 位单元(不再)足以编码所有 Unicode,因此它也是一种多重 "unit" 编码,因此结合了 UTF-8 和 UTF-32 的缺点 :)