(1)大端和小端
大端模式:Big-Endian就是高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。
低地址 --------------------> 高地址
0x12 | 0x34 | 0x56 | 0x78
小端模式:Little-Endian就是低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。
低地址 --------------------> 高地址
0x78 | 0x56 | 0x34 | 0x12
变量定义:var i int32 = 0x01020304
// 小端: 04 (03 02 01)
// 大端: 01 (02 03 04)
即可通过判断首字节是什么,判断是小端,还是大端
(2)本机字节序和网络字节序
网络字节序采用的是大端。
htons 把unsigned short类型从主机序转换到网络序
htonl 把unsigned long类型从主机序转换到网络序
ntohs 把unsigned short类型从网络序转换到主机序
ntohl 把unsigned long类型从网络序转换到主机序