字节序:别称:端序或尾序(Endianness)。在计算机领域,指电脑内存中或在数字通信链路中,占用多个字节的数据的字节排列顺序。
在几乎所有的平台中,多字节对象被存储为连续的字节序列。例如在Go语言中,一个类型为int的变量x地址为0x100,那么其指针&x的值为0x100。且x的4个字节将被存储在内存的0x100 0x101 0x102 0x103位置。
字节的排列方式有2个通用的规则:
大端序(bid endian):将数据的低位字节存放在内存的高位地址,高位字节存放在低位地址。这种排列方式和数据用字节表示时的书写顺序一致,符合人类的阅读习惯。
小端序(little endian):将一个多位数的低位放在较小的地址处,高位放在较大的地址处,则为小端序。小端序与人类的阅读习惯相反,但更加符合计算机读取内存的方式,因为CPU读取内存中的数据时,是从低地址向高地址方向进行读取的。