我有一个带有十六进制十进制值的字节数组,我使用以下代码将该数组转换为十进制值
byte[] content = message.getFieldValue( "_Decoder Message" ).data();
int[] decContent = new int[ content.length ];
int i = 0;
for ( byte b : content )
decContent[ i++ ] = b & 0xff;
现在数组看起来像 decContent = [01 00 05 00 00 00] ;
该数组的前 2 个索引被转换并保存为 int 值,如下所示
int traceIdlow = decContent[ 0 ] & 0xFF;
int traceIdhigh = decContent[ 1 ] & 0xFF;
int TraceId = traceIdlow | ( traceIdhigh << 8 );
最后 4 个索引也需要转换为 int 但我对它应该是 8 还是 16 的转变感到困惑。
如何将最后 4 个索引转换为 int 值,以便根据上面的示例,值变为
00 00 00 05 = 5 in decimal.
有任何想法吗?
谢谢