2011-11-15 3 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 lsbs가 설정된 16 진수 상수입니다. –