小端与大端

  • 字节序:是内存中字节之间的顺序。
  • 字节之内的顺序:无论哪种字节序,对于字节之内的8位,随着地址增大,相应的二进制位数也增大。

字节序.jpg

主机通常小端序,网络通常大端序。

小端:低地址字节是地位。

字节序转换函数

  1. #include <netinet/in.h>
  2. uint16_t htons(uint16_t); // 主机字节序转换为网络字节序:2字节
  3. uint16_t ntohs(uint16_t); // 网络字节序转换为主机字节序:2字节
  4. uint32_t htonl(uint32_t); // 主机字节序转换为网络字节序:4字节
  5. uint32_t ntohl(uint32_t); // 网络字节序转换为主机字节序:4字节