字节序,顾名思义就是字节的顺序。说详细点,就是大于一个字节类型的数据在内存中存放的顺序。 通常情况下,开发时不会直接和字节序打交道,只有在跨平台或网络传输字节数据时会使用到。
字节序按类型分为两种:Little-Endian
和Big-Endian
:
- Little-Endian:低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。
- Big-Endian:高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。
- 网络字节序:TCP/IP各层协议将字节序定义为
Big-Endian
,因此TCP/IP协议中使用的字节序通常称之为网络字节序。
例:如果将0x1234abcd
写入到以0x0000
开始的内存中,则结果为:
1 | BE LE |