现在大多平台都是小端序,网络字节序是大端序,jvm默认也是大端序。
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
public class JavaEndianTest
{
public static void main(String[] args) throws Exception
{
int i = 1;
ByteBuffer bytebuffer = ByteBuffer.allocate(4);
bytebuffer.asIntBuffer().put(i);
byte[] buf = bytebuffer.array();
byte c = buf[0];
if(c == 0)
System.out.println("big-endian");
if(c == 1)
System.out.println("little-endian");
bytebuffer.order(ByteOrder.LITTLE_ENDIAN);
bytebuffer.asIntBuffer().put(i);
buf = bytebuffer.array();
c = buf[0];
if(c == 0)
System.out.println("big-endian");
if(c == 1)
System.out.println("little-endian");
}
}
output:
big-endian
little-endian