>  기사  >  Java  >  Java에서 바이트 배열과 정수 간을 어떻게 변환합니까?

Java에서 바이트 배열과 정수 간을 어떻게 변환합니까?

Barbara Streisand
Barbara Streisand원래의
2024-10-26 07:46:02383검색

How do I convert between byte arrays and integers in Java?

Java에서 바이트 배열과 정수 간 변환

바이너리 데이터를 처리하거나 시스템 간에 값을 전달할 때 바이트 배열과 정수 간 변환은 다음과 같습니다. 필수적인. 이 기사에서는 Java에서 이러한 변환을 수행하는 간단한 프로세스를 자세히 설명합니다.

java.nio 패키지에 있는 ByteBuffer 클래스는 바이트 조작을 처리하는 효율적인 방법을 제공합니다. 이는 바이트 배열과 다양한 숫자 유형 간의 변환을 단순화합니다.

바이트 배열을 정수로

바이트 배열을 정수로 변환하려면 getShort ByteBuffer 메서드:

<code class="java">byte[] arr = { 0x00, 0x01 };
ByteBuffer wrapped = ByteBuffer.wrap(arr); // big-endian by default
short num = wrapped.getShort(); </code>

래핑된 ByteBuffer는 입력 바이트 배열에서 생성됩니다. 기본적으로 Java는 가장 왼쪽 바이트가 최상위 비트를 나타내는 빅엔디안 순서를 가정합니다. 또는 리틀 엔디안 순서의 경우 getIntLittleEndian을 사용하세요.

정수를 바이트 배열로

정수를 바이트 배열로 변환하려면 다음을 활용하세요. ByteBuffer의 putShort 메소드:

<code class="java">ByteBuffer dbuf = ByteBuffer.allocate(2);
dbuf.putShort(num); 
byte[] bytes = dbuf.array(); </code>

정수 1을 생각해 보세요. 바이트 배열로 변환하면 {0x00, 0x01}. 이는 1이 이진 형식의 16비트 부호 없는 정수이고 각 바이트가 8비트를 나타내기 때문입니다. 가장 왼쪽 바이트는 최상위 비트(0x00)를 저장하고 가장 오른쪽 바이트는 최하위 비트(0x01)를 포함합니다.

위 내용은 Java에서 바이트 배열과 정수 간을 어떻게 변환합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.