1、定义
字节顺序,又称端序或尾序(英语:Endianness),在计算机科学领域中,指电脑内存中或在数字通信链路中,组成多字节的字的字节的排列顺序。
在几乎所有的机器上,多字节对象都被存储为连续的字节序列。
2、表现形式
字节的排列方式有两个通用规则。例如,将一个多位数的低位放在较小的地址处,高位放在较大的地址处,则称小端序(Little-endian);反之则称大端序(Big-endian)。
在网络应用中,字节序是一个必须被考虑的因素,因为不同机器类型可能采用不同标准的字节序,所以均按照网络标准转化。
例如假设变量x类型为int,位于地址0xa处,它的值为0x0A0B0C0D,地址范围为0xa~0xa+3字节,其内部排列顺序依赖于机器的类型。(注: 0x前缀代表十六进制。)
2.1、小端序是:0xa: 0x0D, 0xa+1: 0x0C, ......
image
2.2、大端序是:0xa: 0x0A, 0xa+1: 0x0B, ......
image
2.3、混合序(middle-endian)具有更复杂的顺序。以PDP-11为例,0x0A0B0C0D被存储为: