将int []转换为bytes [] Java [英] Converting int[] to bytes[] Java

查看:110
本文介绍了将int []转换为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]);
}
返回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);
...


I am trying to convert an int[] to bytes . It gets converted also.

My code for conversion is this.

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;
}

Suppose i an inputting an int[] = {10,11,15,41,12,8,4,23,5,17,23,36,6} Now i want the byte array to be like this {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}

But the byte array coming to be is

{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,}

Actually i am trying to get the byte array to be start from first position.

解决方案

try this

...
ByteBuffer byteBuffer = ByteBuffer.allocate(menuIds.length * 4);
byteBuffer.order(ByteOrder.LITTLE_ENDIAN);
...

这篇关于将int []转换为bytes [] Java的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆