단일 바이트를 읽으려면 8 비트 마스크가있는 비트 번호 & (AND)을 수행하여 더 큰 Java/Android 기본 유형으로 변환하여 부호없는 값으로 해석 할 수 있습니다. 부호 없음 바이트 값으로 소켓에 값을 쓰려면 더 큰 기본 유형을 사용하여 값을 설정 한 다음이 값을 소켓에 쓸 바이트로 캐스트하십시오. 예를 들어
short shortVal = 255;
byte byteVal = (byte) shortVal;
System.out.println("signed value = " + byteVal);
shortVal = (short) (byteVal & 0xFF);
System.out.println("unsigned value = " + shortVal);
자바/안드로이드 서명 값 바이트 해석한다 (이 경우, -1)지만 바이트 (11,111,111)의 8 비트는 여전히 최하위 8 비트와 동일 짧은 255 (0000000011111111).
동일한 기술을 더 큰 유형과 함께 사용할 수 있습니다 (int를 부호없는 것으로 해석하기 위해 16 비트 마스크와 함께 int를 사용하고 int를 부호없는 것으로 해석하기 위해 32 비트 마스크로 길게). 그러나 멀티 바이트 값은 엔디안을 고려해야합니다 필요한 경우 바이트 순서를 변환합니다.