[英]Converting int[] to bytes[] Java
我试图将int []转换为字节。 它也被转换了。
我的转换代码是这样的。
public static byte[] convertIntoBytes(int[] menuIds){
byte[] byteConverted;
ByteBuffer byteBuffer = ByteBuffer.allocate(menuIds.length * 4);
IntBuffer intBuffer = byteBuffer.asIntBuffer();
intBuffer.put(menuIds);
byteConverted = byteBuffer.array();
for (int i = 0; i < 840; i++) {
Log.d("Bytes sfter Insert", ""+byteConverted[i]);
}
return byteConverted;
}
假设我输入一个int [] = {10,11,15,41,12,8,4,23,5,17,23,36,6}现在我希望字节数组像这样{10,0 ,0,0,11,0,0,0,15,0,0,0,41,0,0,0,12,0,0,0,8,0,0,0,4,0,0 ,0,23,0,0,0,5,0,0,0,17,0,0,0,23,0,0,0,36,0,0,0,6,0,0,0 }
但是字节数组将是
{0,0,0,10,0,0,0,11,0,0,0,15,0,0,0,41,0,0,0,12,0,0,0,8,0 ,0,0,4,0,0,0,23,0,0,0,5,0,0,0,17,0,0,0,23,0,0,0,36,0,0 ,0,6,}
实际上我试图让字节数组从第一个位置开始。
尝试这个
...
ByteBuffer byteBuffer = ByteBuffer.allocate(menuIds.length * 4);
byteBuffer.order(ByteOrder.LITTLE_ENDIAN);
...
这取决于当前机器上的位顺序 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.