一、大小端定义
计算机硬件有两种储存数据的方式:大端字节序(big endian)和小端字节序(little endian)
举例来说,数值0x2211使用两个字节储存:高位字节是0x22,低位字节是0x11。
大端字节序:高位字节在前,低位字节在后,这是人类读写数值的方法。高位字节保存在内存的低地址
小端字节序:低位字节在前,高位字节在后,即以0x1122形式储存。高位字节保存在内存的高地址
一般的都是使用小端序进行字节流的传输(默认);
在网络通信中,传输其实是不分大小端的,传输都是字节流,大小端是就本地存储而言的。IP/TCP网络传输时采用网络字节序(即大端序),是指在解析时候按大端序进行解析,这也是为什么wireshark有时解析出来的数据和我们想要的不一样(大小端问题)。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-phYSlaR1-1658636281297)(/upload/2021/12/image-d94690ec254a468184e6075d43e6c25c.png)]