【Linux网络编程】字节序

【Linux网络编程】字节序

字节序

字节序就是字节在内存中存储的顺序,如32位整数0x01234567,在内存中存储时,有如下两种顺序:

image

大端序将数值的高位存储在低位地址中,小端序则相反。

网络字节序

网络中传输数据均采用大端序

Linux字节序转换函数

#include <netinet/in.h> 中提供了 4 个函数:

unsigned long int htonl(unsigned long int hostlong);    // 主机ip->网络ip
unsigned short int htons(unsigned short int hostshort); // 主机port->网络port
unsigned long int ntohl(unsigned long int netlong);     // 网络ip->主机ip
unsigned short int ntohs(unsigned long int netshort);   // 网络port->主机port

其含义很明确,如 "htol" 表示 "host to network long"。一般长整型函数用于转换 ip 地址,短整型函数用来转换 port。

posted @   杨谖之  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示
主题色彩