首頁 >Java >java教程 >如何在 Java 中將字串與十六進位相互轉換?

如何在 Java 中將字串與十六進位相互轉換?

Barbara Streisand
Barbara Streisand原創
2024-12-24 17:24:29181瀏覽

How to Convert Strings to and from Hexadecimal in Java?

在Java 中將字串轉換為十六進位

在Java 中將字串轉換為十六進位是一項目簡單的任務,可以使用String.format 完成() 方法。具體操作方法如下:

public String toHex(String arg) {
    return String.format("%040x", new BigInteger(1, arg.getBytes(/*YOUR_CHARSET?*/)));
}

在此程式碼中,BigInteger(1, arg.getBytes()) 行將字串轉換為 BigInteger 對象,該物件表示任意精確度的非負整數。 1 參數指定整數以小端位元組順序表示。

然後 String.format(" 0x") 行將 BigInteger 物件格式化為十六進位字串。 0x 格式說明符指定字串應該用零填充,總寬度為 40 個字元。

將十六進位字串轉換回字串

轉換十六進位字串與上面描述的轉換過程類似,但方向相反。具體操作方法如下:

public String fromHex(String hex) {
    byte[] bytes = new BigInteger(hex, 16).toByteArray();
    return new String(bytes, /*YOUR_CHARSET?*/);
}

在此程式碼中,new BigInteger(hex, 16) 行將十六進位字串轉換為 BigInteger 物件。 16 參數指定字串以十六進位格式表示。

toByteArray() 方法將 BigInteger 物件轉換為位元組數組。

最後,新的 String(bytes) 行將轉換使用指定字元集將位元組數組轉換為字串。

以上是如何在 Java 中將字串與十六進位相互轉換?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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