2011-11-15 98 views
0

我想选择字节数组中最后一个字节的低4位。这是我以前在PHP中完成的,但我是Java新手。Java字节数组操作

$lower4bit = substr($bytes[19], -1); 

//Convert the hex to decimal to get the offset value 
$offset = hexdec($lower4bit); 

//Select the value of the 4 bytes starting at the offset 
$joinedArray = implode(array_slice($bytes, $offset, 4)); 

任何人都可以用Java指出正确的方向吗?

+0

我没有时间得到完整的答案,但请记住......在PHP中,“数组”是数组,列表,地图和其他所有东西。在Java中,它们并不是全部合而为一。 – corsiKa

+0

即使在PHP中,这也是非常错误的做法。 '$ lower4bit = $ bytes [19] & 0x0F;' – Esailija

回答

3

您访问数组像这样:

y = a[i]; 

,您可以找到一个数组的长度,如下所示:

len = a.length; 

可以一个整数的最后4位隔离像这样:

y = x & 0xF; 

这些应该足以构建您需要的代码。

+0

谢谢。我遵循前两个,那很棒。我现在有最后一个字节。不知道第三位是如何工作的。 0xF是什么? – Joseph

+1

@Joseph:最后的声明是应用[bitmask](http://en.wikipedia.org/wiki/Bitmask)。 “0xF”是一个十六进制常量,设置了4个lbsbs。 –