将字节数组转换为十进制

Posted

技术标签:

【中文标题】将字节数组转换为十进制【英文标题】:Convert byte array to decimal 【发布时间】:2013-05-22 03:59:52 【问题描述】:

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

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]

是否可以将此字节数组转换为包含十进制值的数组? 或者,如果我对任何特定索引感兴趣,如何将该索引的值转换为十进制?

假设我想转换字节数组中为 01 的索引 18。我正在使用 Java btw。

谢谢

【问题讨论】:

"字节数组的内容是十六进制格式。" 不能这样。字节数组只包含字节。 什么小数? 32 位还是 64 位 IEEE? 【参考方案1】:
 public int[] bytearray2intarray(byte[] barray)
 
   int[] iarray = new int[barray.length];
   int i = 0;
   for (byte b : barray)
       iarray[i++] = b & 0xff;
   return iarray;
 

【讨论】:

courtesy .. this so answer ... ***.com/a/3149118/931982 .. 看起来一样,所以我只是从那里复制的

以上是关于将字节数组转换为十进制的主要内容,如果未能解决你的问题,请参考以下文章

将包含十六进制值的字节数组转换为十进制值

如何将十六进制字符串转换为字节数组,以及十六进制字符串中的字节数组?

将字符串转换为十六进制字节数组[重复]

将二进制位转换为字节数组

将二进制字符串转换为字节数组

如何将十六进制字符串转换为字节数组? [复制]