【问题标题】: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?

标签: java bytearray decimal hex


【解决方案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;
 }

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2013-02-18
  • 2016-01-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-31
相关资源
最近更新 更多