首頁 >Java >java教程 >在 Java 中如何在位元組數組和整數之間進行轉換?

在 Java 中如何在位元組數組和整數之間進行轉換?

Barbara Streisand
Barbara Streisand原創
2024-10-26 07:46:02466瀏覽

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