Java中的字节序问题
2017-01-03 本文已影响156人
王世军Steven
一 字节序概念
字节顺是指占用内存多于一个字节类型的数据在内存中的存放顺序,有小端和大端两种顺序.
1.1 大端
高字节数据存放在低地址处,低字节数据存放在高地址处.
1.2 小端
高字节数据存放在高地址处,低字节数据存放在低地址处.
二 实例解析
在Java中一个int类型数据占据4个字节.如下 :
int value = 0x01020304;
根据字节序的不同在内存中的分布如下 :
小端(Little-Endian)格式内存数据分布
内存地址编号 | 字节内容 |
---|---|
0x00001000 | 0x04 |
0x00001001 | 0x03 |
0x00001002 | 0x02 |
0x00001003 | 0x01 |
大端(Big-Endian)格式内存数据分布
内存地址编号 | 字节内容 |
---|---|
0x00001000 | 0x01 |
0x00001001 | 0x02 |
0x00001002 | 0x03 |
0x00001003 | 0x04 |
三 Java中的字节序问题.
Java 中由于 JVM 的存在,因此Java中的字节序是大端.
四 网络字节序
在网络中传输的是 大端 数据格式.