字节序
1 定义
字节序:多字节数据在内存中的存放顺序。
2 分类
包括大端序和小端序。
- 大端序(Big-Endian)将数据的低位字节存放在内存的高位地址,高位字节存放在低位地址。如网络字节序
这种排列方式与数据用字节表示时的书写顺序一致,符合人类的阅读习惯。 - 小端序(Little-Endian),将一个多位数的低位放在较小的地址处,高位放在较大的地址处。如主机字节序
例如:在内存中存放整型数值168496141 需要4个字节,这个数值的对应的16进制表示是0X0A0B0C0D,这个数值在用大端序和小端序排列时的在内存中的示意图如下:
3 转换
- 从主机字节序到网络字节序的转换函数:htons、htonl;
- 从网络字节序到主机字节序的转换函数:ntohs、ntohl。
h - host 主机,主机字节序
to - 转换成什么
n - network 网络字节序
s - short unsigned short
l - long unsigned int
4 参考
https://zhuanlan.zhihu.com/p/352145413
https://www.nowcoder.com/discuss/934904
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】