java大小端序转换

java大小端序转换

在写客户端Socket对接的时候发现一个问题,整型数字转成二进制流发送给Windows服务端时,Windows那边二进制转不回整型数字,后来发现原来Windows端是小端序的。
一般的进行网络传输我们都应该用网络端序,也就是大端序

附上大小端的转换代码

/**
* 切换大小端续
*/
public static byte[] changeBytes(byte[] a){
    byte[] b = new byte[a.length];
    for (int i = 0; i < b.length; i++) {
        b[i] = a[b.length - i - 1];
    }
    return b;
}
  • 再来看看什么是大小端序

    端序也叫字节序,就是数据排列的顺序,比如
    int 1 在大端序里是这么存的 0x00…001
    int 1 在小端序里是这么存的 0x100…00
    就是顺序的区别

你可能感兴趣的:(安卓,java,socket)