大端:
以4字节的int类型为例。大端表示第一个字节保存最高位,第二字节保存次高位,第三个字节保存次低位,第四个字节保存最低位。
例如,16进制数 0x12345678; 用大端格式保持为 0x12 0x34 0x56 0x78
小端:
以4字节的int类型为例。小端表示第一个字节保存最低位,第二字节保存次低位,第三个字节保存次高位,第四个字节保存最高位。
例如,16进制数 0x12345678; 用小端格式保持为 0x78 0x56 0x34 0x12
注意:
这里进行区别的单位是“字节”而非“位”, 及只是将高位部分存放在高低字节的问题。如果一个数据只占用一个字节,那就不存在大端小端问题,这时千万不要用ntols或htons转换。
因为它会默认按照2个字节(htos)或者4个字节(htols)来转,结果必然错误。
在大于1个字节长度的数据类型中,存储该数据,才存在大端小端问题;在单字节长度的数据类型中,存储该数据,不存在大端小端问题。