目录
大端存储(Java)和小端存储(Windows X86)传输实验
前言
网络上很多说字节序的文章,那么为什么还要写这篇文章呢?我认为这是很关键且很基础的问题,但经过查阅网上资料,许多博客仅仅画个图描述下存储,但是却没有告诉你问题的关键,既什么时候需要考虑字节的顺序。那么我们在这篇文章中将学习在Windows平台上发送数据到Java平台上产生的字节序问题,且学习如何处理这个问题。而这也是信息安全中的基础知识,尤其是二进制的基础知识点。例如网上能搜索到的和序列化相关的知识都和字节序相关,并且还能找到IOT是高字节序对于strcpy发生的栈溢出需要注意的问题,又或者最基础的栈溢出都会涉及到最基础的字节序知识。
字节序
字节序是大于一个字节的对象存储到机器,每个字节的在内存中要按照什么方式排列。而它又和CPU架构有关,CPU根据架构设计有两种存储方式,Big Endian(大端字节序)和Little Endian(小端字节序)。
大端字节序:高位字节在前,低位字节在后。(课本上二进制表示法也是高->低,默认左为高位,通俗点说就是人类通用的二进制表示法是大端)
小端字节序:低位字节在前,高位字节在