字节序问题
1.字节序:
字节序指数据在内存中储存的方式,决定了数据在内存中的排序位置
2.大端序与小端序
大端序:
- 定义:高位字节存在低地址,低位字节存在高地址。
- 示例:
0x12345678在内存中的存储顺序为:0x12(低地址)→0x34→0x56→0x78(高地址 - 特点:符合人类从左到右的阅读习惯,常用于网络传输、文件格式(如BMP图片
小端序:
- 定义:低位字节存在低地址,高位字节存在高地址。
- 示例:
0x12345678存储顺序为:0x78(低地址)→0x56→0x34→0x12(高地址) - 特点:计算机处理效率更高(CPU直接读取低位计算),x86、ARM等常见处理器默认采用小端
- 在IDA中一般以xmmword为前缀
3.网络序与主机序:
网络序:
- 定义:网络传输中统一使用的字节序,规定为大端模式。
- 用途:确保不同设备(如手机和电脑)通信时数据解析一致。例如TCP/IP协议、HTTP协议均采用大端
主机序:
:当前设备内存中实际的字节序,可能是大端或小端,取决于CPU架构:
- 大端主机:PowerPC、SPARC处理器。
- 小端主机:x86、ARM处理器
本文来自博客园,作者:漫宿骄盛,转载请注明原文链接:https://www.cnblogs.com/msjs/p/18784662
都是顺手发的,写的时候可能有错误,如果发现了,望各位指出。

浙公网安备 33010602011771号