首頁 >Java >java教程 >如何在 Java 中在位元組數組和整數之間進行轉換:逐步指南

如何在 Java 中在位元組數組和整數之間進行轉換:逐步指南

DDD
DDD原創
2024-10-27 08:24:03342瀏覽

How to Convert Between Byte Arrays and Integers in Java: A Step-by-Step Guide

Java 中位元組數組和整數之間的轉換

將數值資料儲存為位元組數組可提供靈活性和高效的記憶體使用,尤其是在處理數字時尺寸有限。在 Java 中,只要清楚了解底層操作,就可以使用簡單的技術來實現位元組數組和整數之間的轉換。

要將整數(短)轉換為 2 位元組數組,可以使用 ByteBuffer .wrap() 方法。此方法將位元組數組作為輸入並將其包裝到緩衝區中。然後可以使用 ByteBuffer 類別中提供的各種方法讀取和寫入緩衝區。

以下程式碼示範了轉換過程:

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

在此範例中,一個 2 位元組數組{0x0, 0x1} 被包裝到名為wrapped 的ByteBuffer 中。然後使用包裝的緩衝區使用 getShort() 方法檢索短值,得到值 1。

可以使用 ByteBuffer.allocate() 方法將短整數轉換回位元組陣列。此方法會建立一個具有指定容量的新 ByteBuffer。使用 putShort() 方法將整數值寫入新緩衝區。

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

在此程式碼片段中,指派了一個名為 dbuf 的新 ByteBuffer,容量為 2 個位元組。使用 putShort() 方法將短值 num 寫入 dbuf。最後,使用 array() 方法檢索底層位元組數組,該數組與原始輸入數組 {0x0, 0x1} 相同。

以上是如何在 Java 中在位元組數組和整數之間進行轉換:逐步指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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