您的位置:首页 > 其它

数据类型int跟byte[]数组互转的方法!

2007-08-15 22:08 549 查看
这些天在作弄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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: