如何在Java 中將位元組數組轉換為十六進位
將位元組數組轉換為十六進位表示法是各種編程場景中的常見操作。在 Java 中,可以使用各種技術來實現這種轉換。
方法1:使用字串連接和String.format()
一個簡單的方法是迭代每個數組中的byte 並使用String.format( ) 方法將其轉換為十六進位字串表示形式。此方法將位元組格式化為兩位十六進位數字,如有必要,請加前導零。
byte[] bytes = {-1, 0, 1, 2, 3}; StringBuilder sb = new StringBuilder(); for (byte b : bytes) { sb.append(String.format("%02X ", b)); } System.out.println(sb.toString());
此程式碼會將位元組數組的十六進位表示形式列印為「FF 00 01 02 03」。
方法2:使用自訂十六進位轉換函數
或者,您可以建立一個自訂函數,直接將位元組陣列轉換為十六進製字串。透過定義自己的函數,您可以更好地控制格式,並有可能優化轉換過程。以下是一個範例函數:
public static String bytesToHex(byte[] bytes) { StringBuilder sb = new StringBuilder(); for (byte b : bytes) { sb.append(String.format("%02X", b & 0xFF)); } return sb.toString(); }
此函數使用位元 AND 運算子 (&) 確保位元組被視為無符號整數,從而消除任何符號擴充問題。
其他注意事項:
以上是如何在 Java 中高效地將位元組數組轉換為其十六進位表示形式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!