字节序:是指多字节数据在计算机内存中存储或者网络传输时各字节的存储顺序,对单字节数据没有影响。
常见的字节序
- Little endian:LE,低字节序,将低字节存储在低位地址,高字节存储在高位地址
- Big endian:BE,高字节序,将低字节存储在高位地址,高字节存储在低位地址
比如:存储一个4字节的int数据,0x11223344,用32bit的系统和使用相同的内存地址(1000,1001,1002,1003)
存储过程为:
内存地址 | 1000 | 1001 | 1002 | 1003 |
---|---|---|---|---|
LE | 44 | 33 | 22 | 11 |
BE | 11 | 22 | 33 | 44 |
网络字节序:是TCP/IP中规定好的一种数据表示格式,它与具体的CPU类型、操作系统等无关,从而可以保证数据在不同主机之间传输时能够被正确解释。网络字节序采用高字节序的方式。