您好我在SO中看到很多链接将整数值转换为无符号字节数组。但我无法明确自己的想法。我的转换如下
//在android
中<?xml version="1.0" encoding="UTF-8"?>
..
...
<query>
update tableX set colName='$ClassService.getParameter(\"param1\")$' where id = '0'
</query>
...
在android中输出 [0,1,-105,-52]
//在c#
中int checksum=104396;
byte[] byteArray = GetBytesInt(checksum);
public static byte[] GetBytesInt(int value) {
byte[] bytes = new byte[4];
bytes[0] = (byte) (value >> 24);
bytes[1] = (byte) (value >> 16);
bytes[2] = (byte) (value >> 8);
bytes[3] = (byte) (value);
return bytes;
}
输出c#
[204,151,1,0]
我如何在java或android中获得此输出。我检查java 8和Guava有相同的返回。
请帮我一些编码
答案 0 :(得分:0)
根据@greenapps的建议,以LITTLE_ENDIAN格式获取字节数组解决了这个问题。
ByteBuffer byteBuffer = ByteBuffer.allocate(4);
byteBuffer.order(ByteOrder.LITTLE_ENDIAN);
byteBuffer.putInt((int) (value & 0xffffffffL));
byte[] array=Bytes.asList(byteBuffer.array())
在android中输出
[ - 52,-105,1,0]