在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中文網其他相關文章!