0

好吧,问题几乎就像标题一样。在我的应用程序中,我使用 UDP 数据包发送 2 个字节的数组。我想知道是否有办法将整数从 0 到 2000 转换为大小为 2 的字节数组,然后将该字节数组转换回整数?

4

1 回答 1

0

您可以使用 java.nio ByteBuffer 转换

为字节

int[] ia = { 1, 2, 3 };
ByteBuffer bb = ByteBuffer.allocate(ia.length * 4);
for (int i : ia) {
    bb.putShort((short)i);
}
byte[] ba = bb.array();

为整数

ShortBuffer sb = ByteBuffer.wrap(ba).asShortBuffer();
int[] ia = new int[sb.limit() / 2];
for(int i = 0; i < ia.length; i++) {
    ia[i] = sb.get();
}
于 2013-03-25T04:24:51.157 回答