大端模式Big-Endian就是高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。
小端模式Little-Endian就是低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。
小端模式 :强制转换数据不需要调整字节内容。
大端模式 :符号位的判定固定为第一个字节,容易判断正负。
采用大端方式进行数据存放符合人类的正常思维,而采用小端方式进行数据存放利于计算机处理。
例:32bit宽的数0x12345678在Little-endian模式以及Big-endian模式在内存中的存放方式为(假设从地址0x4000开始存放):
一般操作系统都是小端,而通讯协议是大端的。
常见CPU的字节序:
Big Endian : PowerPC、IBM、Sun
Little Endian : x86、DEC
ARM既可以工作在大端模式,也可以工作在小端模式。
常见文件的字节序:
Adobe PS – Big Endian
BMP – Little Endian
DXF(AutoCAD) – Variable
GIF – Little Endian
JPEG – Big Endian
MacPaint – Big Endian
RTF – Little Endian
另外,Java和所有的网络通讯协议都是使用Big-Endian的编码。