字节顺序函数: 小端字节序:将低序字节存储在起始地址。(linux) 大端字节序:将高序字节存储在起始地址。(网络字节序) 举个例子:对于整数0x12345678来说,在不同的系统中存放
方式如图:
正是因为网际协议采取的是大端字节序,我们在编程的时候才需要考虑网络字节许和主机字节序之间的转换。下面是四个转换函数(在某些采用大端字节序的系统里面,这四个函数被定位空宏):
#include
<
netinet
/
in
.h
>
uint16_t htons(uint16_t host16bitvalue); uint32_t htonl(uint32_t host32bitvalue);
//
均返回网络字节序
uint16_t ntohs(uint16_t net16bitvalue); uint32_t ntohl(uint32_t net32bitvalue);
//
均返回主机字节序