这些天在作弄socket下的编程,偶然用到了这么一个东东,觉得有点意思,就发出来给大家看看!
int转byte数组
public static byte[] intToBytes2(int n){
byte[] b = new byte[4];
for(int i = 0;i < 4;i++)
{
b[i]=(byte)(n>>(24-i*8));
}
return b;
}
字节数组转int
public static int byteToInt2(byte[] b){
return (((int)b[0]) << 24) + (((int)b[1]) << 16) + (((int)b[2]) << 8) + b[3];
}
经过调试,发现这个函数有个BUG,会丢失数据长度256.大家可以用这个函数替换
public static int byteToInt2(byte[] b) {
int mask=0xff;
int temp=0;
int n=0;
for(int i=0;i<4;i++){
n<<=8;
temp=b[i]&mask;
n|=temp;
}
return n;
}
本文介绍了一种在Java中实现int类型数据与byte数组相互转换的方法,并针对原有转换函数存在的BUG进行了修复,提供了正确的实现方式。
4232

被折叠的 条评论
为什么被折叠?



