【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 @   杨谖之  阅读(20)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· [翻译] 为什么 Tracebit 用 C# 开发
· Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版
· 2分钟学会 DeepSeek API,竟然比官方更好用!
· .NET 使用 DeepSeek R1 开发智能 AI 客户端
· 刚刚!百度搜索“换脑”引爆AI圈,正式接入DeepSeek R1满血版
点击右上角即可分享
微信分享提示
主题色彩