大小端模式

大端字节序(网络字节序):将低位字节存放在内存的高地址端,高位字节存放在内存的低地址端。

小端字节序(主机字节序):将低位字节存放在内存的低地址端,高位字节存放在内存的高地址端。

举一个例子:

大小端模式

如何判断机器字节序?

大小端模式
Linux提供了如下四个函数来完成主机字节序和网络字节序之间的转换:

#include

unsigned  long   int   htonl(unsigned long int hostlong);

unsigned  short  int   htons(unsigned short int hostshort);

unsigned  long   int   ntohl(unsigned long int netlong);

unsigned  short  int   ntohs(unsigned short int netshort);  

 htonl:将长整型的主机字节序转换为网络字节序

 长整型函数通常用来转换IP地址,短整型函数通常用来转换端口号