工作中用到数字到字节数组的转换,以前也没仔细研究过,总是做完就忘了。现在做个记录。
java使用的是BigEndian
int型到字节数组的转换
int i = 10;
byte[] b = new byte[4];
/* BigEndian
b[0]= (byte) (i >> 24);
b[1]= (byte) (i >> 16);
b[2]= (byte) (i >> 8);
b[3]= (byte) (i);
*/
/* LittleEndian
b[0]= (byte) (i);
b[1]= (byte) (i >> 8);
b[2]= (byte) (i >> 16);
b[3]= (byte) (i >> 24);
*/
short型到字节数组的转换
short i = (short)10;
byte[] b = new byte[4];
/* BigEndian
b[0]= (byte) (i >> 8);
b[1]= (byte) (i);
*/
/* LittleEndian
b[0]= (byte) (i);
b[1]= (byte) (i >> 8);
*/
字节数组到整数的参考:
http://blog.csdn.net/chief1985/archive/2008/03/27/2223875.aspx
原理还是不太明白,如果有错误望指正。