将字节数组转换为十进制数

6

我有一个字节数组,想要根据这个数组中的数据进行一些操作。字节数组的内容以十六进制格式表示。

byte[] signal = message.getFieldValue( "_Decoder Message" ).data();

这将给我一个具有以下内容的字节数组。
[ff ff 11 ff ff 82 05 00 13 00 d7 00 fc dc 03 04 00 00 01 00 00 00 1e 00 00 00 52 00 00]

能否将这个字节数组转换为包含十进制值的数组? 如果我对任何特定索引感兴趣,如何将该索引处的值转换为十进制?

假设我想将索引18转换为十进制,而在字节数组中它是01。我正在使用Java。

谢谢


“_The content of the byte array is in hexadecimal format._” 这种情况是不可能的。一个字节数组只包含字节,没有其他内容。 - jlordo
什么小数?32位还是64位IEEE? - fge
1个回答

18
 public int[] bytearray2intarray(byte[] barray)
 {
   int[] iarray = new int[barray.length];
   int i = 0;
   for (byte b : barray)
       iarray[i++] = b & 0xff;
   return iarray;
 }

由于礼貌起见,我在这里引用了stackoverflow上的一个回答:http://stackoverflow.com/a/3149118/931982。看起来是一样的,所以我只是从那里复制过来的。 - stinepike

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接