2015-11-28 76 views
0

我正在开发一个Android应用程序,我在将字节数组转换为整型数组时遇到了一些困难。Android:将字节数组转换为整型数组

我有一个字节数组以及如何将字节数组转换为整型数组。我发现了很多解决方案,但其中大部分都无法正常工作。推荐将字节数组转换为整型数组的方法是什么?

字节数组

byte data[] = { (byte)0x80, (byte)0x1e, (byte)0x19, (byte)0x1e, (byte)0x06,(byte)0x1f, 
       (byte)0x35,(byte)0x22,(byte)0x02,(byte)0x20,(byte)0x14,(byte)0x1e,(byte)0x37, 
       (byte)0x1d,(byte)0x02,(byte)0x20,(byte)0x2e,(byte)0x1f,(byte)0x15,(byte)0x1e, 
       (byte)0x38,(byte)0x00,(byte)0xff,(byte)0xfb,(byte)0xf8,(byte)0x00,(byte)0x01}; 

感谢。

回答

0

必须有一个更有效的方法来做到这一点,但下面是一个解决方案。

Byte data[] = { (byte)0x80, (byte)0x1e, (byte)0x19, (byte)0x1e, (byte)0x06,(byte)0x1f, 
       (byte)0x35,(byte)0x22,(byte)0x02,(byte)0x20,(byte)0x14,(byte)0x1e,(byte)0x37, 
       (byte)0x1d,(byte)0x02,(byte)0x20,(byte)0x2e,(byte)0x1f,(byte)0x15,(byte)0x1e, 
       (byte)0x38,(byte)0x00,(byte)0xff,(byte)0xfb,(byte)0xf8,(byte)0x00,(byte)0x01}; 

     int[] integers = new int[data.length]; 

     for(int i = 0;i < data.length ;i++){ 

      integers[i] = data[i]; 

     } 
0

你有试过吗?

byte[] arr = { 0x00, 0x01 }; 
ByteBuffer wrapped = ByteBuffer.wrap(arr); // big-endian by default 
short num = wrapped.getShort(); // 1 

ByteBuffer dbuf = ByteBuffer.allocate(2); 
dbuf.putShort(num); 
byte[] bytes = dbuf.array(); // { 0, 1 }