首頁 >Java >java教程 >在 Java 中如何將整數轉換為位元組數組,反之亦然?

在 Java 中如何將整數轉換為位元組數組,反之亦然?

Linda Hamilton
Linda Hamilton原創
2024-10-26 16:37:30504瀏覽

How do you convert integers to byte arrays and vice versa in Java?

在Java 中將整數轉換為位元組數組,反之亦然

在位元組數組中儲存數字是程式設計中的基本操作。了解整數和位元組數組之間的轉換過程對於有效操作資料至關重要。

整數到位元組數組

要將整數轉換為位元組數組,您可以使用ByteBuffer,java.nio 套件中的一個類別。此類提供了一種與二進位資料互動的便捷方法。以下是一個範例:

<code class="java">byte[] arr = { 0x00, 0x01 }; // Source byte array
short num = 0;

ByteBuffer wrapped = ByteBuffer.wrap(arr); // Wraps source array in a buffer
wrapped.get(num); // Reads 2 bytes from the buffer and stores in num</code>

此程式碼將來源位元組陣列包裝在 ByteBuffer 中,並將前兩個位元組(0x00 和 0x01)讀取為短整數 (num)。

位元組數組到整數

要將位元組數組轉換回整數,您可以使用相同的 ByteBuffer 類別。以下是範例:

<code class="java">byte[] arr = { 0x00, 0x01 };
ByteBuffer dbuf = ByteBuffer.allocate(2);
dbuf.put(arr); // Writes source bytes to the buffer
short num = dbuf.getShort(); // Reads 2 bytes from the buffer and stores in num </code>

此程式碼將來源位元組陣列寫入 ByteBuffer,然後將前兩個位元組(0x00 和 0x01)讀取為短整數 (num)。

理解程式碼

理解 ByteBuffer 類別的關鍵是它使用位元組順序(大端或小端)來決定數組中位元組的排列。 Big-endian 表示最高有效位元組儲存在陣列的開頭,而little-endian 則將其儲存在末尾。

預設情況下,ByteBuffer 使用big-endian 位元組順序。在執行任何操作之前,您可以透過呼叫wrapped.order(ByteOrder.LITTLE_ENDIAN)來指定小端順序。

以上是在 Java 中如何將整數轉換為位元組數組,反之亦然?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn