public static byte[] InttoByteArray(int n) {
byte[] b = new byte[4];
b[0] = (byte) (n & 0xff);
b[1] = (byte) (n >> 8 & 0xff);
b[2] = (byte) (n >> 16 & 0xff);
b[3] = (byte) (n >> 24 & 0xff);
return b;
}
public static byte[] ShorttoByteArray(short n) {
byte[] b = new byte[2];
b[1] = (byte) (n & 0xff);
b[0] = (byte) (n >> 8 & 0xff);
return b;
}
public static int ByteArraytoInt(byte[] b) {
int iOutcome = 0;
byte bLoop;
for (int i = 0; i < 4; i++) {
bLoop = b[i];
iOutcome += (bLoop & 0xff) << (8 * i);
}
return iOutcome;
}
public static short ByteArraytoShort(byte[] b) {
short iOutcome = 0;
byte bLoop;
for (int i = 0; i < 2; i++) {
bLoop = b[i];
iOutcome += (bLoop & 0xff) << (8 * i);
}
return iOutcome;
}
附:通常字节序分为两类:Big-Endian和Little-Endian。具体如下
[1] Little-Endian:低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。
[2] Big-Endian :高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。
[3] 网络字节序 :TCP/IP各层协议将字节序定义为Big-Endian。