Rumah  >  Artikel  >  Java  >  Bagaimanakah saya menukar antara tatasusunan bait dan integer dalam Java?

Bagaimanakah saya menukar antara tatasusunan bait dan integer dalam Java?

Barbara Streisand
Barbara Streisandasal
2024-10-26 07:46:02383semak imbas

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

Menukar Antara Tatasusunan Byte dan Integer dalam Java

Apabila berurusan dengan data binari atau menghantar nilai antara sistem, menukar antara tatasusunan bait dan integer menjadi penting. Artikel ini menyelidiki proses mudah untuk mencapai penukaran ini dalam Java.

Kelas ByteBuffer, yang terletak dalam pakej java.nio, menyediakan cara yang cekap untuk mengendalikan manipulasi bait. Ia memudahkan penukaran antara tatasusunan bait dan pelbagai jenis angka.

Anasusunan Byte kepada Integer

Untuk menukar tatasusunan bait kepada integer, gunakan getShort kaedah ByteBuffer:

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

ByteBuffer yang dibalut dicipta daripada tatasusunan bait input. Secara lalai, Java menganggap pesanan big-endian, di mana bait paling kiri mewakili bit yang paling ketara. Sebagai alternatif, untuk pesanan little-endian, gunakan getIntLittleEndian.

Integer to Byte Array

Untuk menukar integer kepada tatasusunan bait, manfaatkan Kaedah putShort ByteBuffer:

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

Contoh

Pertimbangkan integer 1. Apabila ditukar kepada tatasusunan bait, ia menjadi {0x00, 0x01}. Ini kerana 1 ialah integer tidak bertanda 16-bit dalam bentuk binari, dan setiap bait mewakili 8 bit. Bait paling kiri menyimpan bit paling ketara (0x00) dan bait paling kanan mengandungi bit paling kurang ketara (0x01).

Atas ialah kandungan terperinci Bagaimanakah saya menukar antara tatasusunan bait dan integer dalam Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn