2015-11-28 75 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 }