字节序

字节序是一个描述如何存储数据计算机科学术语。具体来说,它定义了多字节数据类型的哪一端包含最高有效值。字节序有两种类型:大端序和小端序。

大端序

大端序是存储二进制数据最常见的方式。它将最高有效值(或最大值)放在最前面,后面依次是有效性较低的值。例如,整数 123 的大端序表示会先放置百位值(1),然后是十位值(2),最后是个位值(3),即 [123]。

小端序

小端序会先存储最低有效值,后面依次是有效性越来越高的值。例如,数字 123 的小端序表示是 [321]。文本字符串 "ABC" 表示为 [CBA]。

端序转换

在大多数情况下,开发人员不需要指定字节序,因为编译器会为特定平台生成正确类型的数据。但是,程序可能需要处理外部输入,例如以不同字节序存储数据的文件格式。在这种情况下,必须将数据从小端序转换为大端序,或反向转换。

转换字节序并不像反转数据那么简单。必须反转的是字节,而不是。换句话说,每个字节(或由八个位组成的块)必须保持不变,但字节的顺序会改变。可以使用数据的十六进制或二进制表示来说明这一点。

例如,整数 41,394 的大端序表示如下:

十六进制: A1B2
二进制: 1010000110110010

将这些数据转换为小端序时,并不是反转整个数据,而是反转数据中的各个字节。十六进制使用两位表示每个字节,即 [A1][B2];二进制使用八位表示每个字节,即 [10100001][10110010]。

因此,41,394 的小端序表示如下:

十六进制: B2A1
二进制: 1011001010100001

NOTE: 某些处理器可以直接按大端序或小端序读取数据,而无需进行转换。这称为双端序数据访问。

更新日期 September 27, 2019 作者 Per C.

quiz测试你的知识

What is the only unit of measurement greater than a Zettabyte?

A
Exabyte
0%
B
Petabyte
0%
C
Yottabyte
0%
D
Terabyte
0%
Correct! Incorrect!     View the Yottabyte definition.
More Quizzes →

Tech Terms 计算机词典

本页中字节序的定义是由 TechTerms.com 的作者撰写的原创定义。如果您想引用本页或引用此定义,请使用定义正下方的绿色引用栏。

我们的目标是以简单易懂的方式解释计算机术语。我们努力使发布的每个定义都做到准确和简明。如果您对本定义有任何反馈,或想建议一个新的技术术语,请联系我们

Tech Terms 通讯

通过我们的每日或每周通讯提升您的技术知识!立即订阅,即可将新术语和测验发送到您的收件箱。

订阅免费的 TechTerms 通讯

您希望多久收到一封电子邮件?

您可以随时使用每封邮件中的链接取消订阅或更改接收频率。 有疑问?请联系我们

注意:通讯以英文发送。