主机字节序与网络字节序

big endian:     高位字节放在 低位内存中
little endian     高位字节放在 高位内存中

例子:如果我们将0x1234abcd写入到以0x0000开始的内存中,则结果为
          big-endian      little-endian
0x0000  0x12          0xcd
0x0001  0x23          0xab
0x0002  0xab          0x34
0x0003  0xcd          0x12

网络字节顺序采用big endian排序方式。即高位数据放在低位内存中 。

主机字节序依赖系统实现的不同而不同,但是网络字节序是独立于平台的。因此,从网络中接受的网络数据必须经过转化为符合主机字节序,才能正确的赋予语义。

网络与主机字节转换函数:
htons ntohs htonl ntohl
(s 是short l是long h是host n是network)

参考:http://todd-liu.javaeye.com/blog/697842

 

你可能感兴趣的:(职场,休闲,主机字节序,网络字节序)