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!