您的位置:首页 > 编程语言 > Java开发

java下整数转成字节数组

2013-08-08 17:40 218 查看
java下写socket通信的时候,协议可能是以2字节数字表示,在java下好像没有直接的方法将数字转成字节数组,于是就在别人的方法的基础上改进,原来的方法字节顺序存放不对,会导致服务端下转换会出问题。现在这个问题已经改进了,大家可以参考一下。

public static byte[] intToBytes(int value)

{

byte[] b = new byte[4];

for (int i = 0; i < 4; i++)

{

b[ i] = (byte)((value >> (8 * i)) & 0xFF);

}

return b;

}

public static int bytesToInt(byte[] b)

{

int value = 0;

for (int i = 0; i < b.length && i < 4; i++)

{

value += (b[i] & 0xFF) << (8 * i);

}

return value;

}

public static byte[] shortToBytes(short value)

{

byte[] b = new byte[2];

for (int i = 0; i < 2; i++)

{

b[ i] = (byte)((value >> (8 * i)) & 0xFF);

}

return b;

}

public static short bytesToShort(byte[] b)

{

int value = 0;

for (int i = 0; i < b.length && i < 2; i++)

{

value += (b[i] & 0xFF) << (8 * i);

}

return (short)value;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐