gpt4 book ai didi

unicode - Big Endian 和 Little Endian 字节顺序的区别

转载 作者:行者123 更新时间:2023-12-03 05:38:09 26 4
gpt4 key购买 nike

Big Endian 和 Little Endian 字节顺序有什么区别?

这两个似乎都与 Unicode 和 UTF16 有关。我们到底在哪里使用它?

最佳答案

Big-Endian (BE)/Little-Endian (LE) 是组织多字节字的两种方法。例如,当使用两个字节来表示 UTF-16 中的字符时,有两种方法将字符 0x1234 表示为字节串(0x00-0xFF):

Byte Index:      0  1
---------------------
Big-Endian: 12 34
Little-Endian: 34 12

为了确定文本使用 UTF-16BE 还是 UTF-16LE,规范建议在字符串前面添加一个字节顺序标记 (BOM),表示字符 U+FEFF。因此,如果 UTF-16 编码的文本文件的前两个字节是 FEFF,则编码为 UTF-16BE。对于FFFE,它是UTF-16LE。

视觉示例:不同编码(带有 BOM 的 UTF-16)中的单词“Example”:

Byte Index:   0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
------------------------------------------------------------
ASCII: 45 78 61 6d 70 6c 65
UTF-16BE: FE FF 00 45 00 78 00 61 00 6d 00 70 00 6c 00 65
UTF-16LE: FF FE 45 00 78 00 61 00 6d 00 70 00 6c 00 65 00

欲了解更多信息,请阅读维基百科页面 Endianness和/或 UTF-16 .

关于unicode - Big Endian 和 Little Endian 字节顺序的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/701624/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com