在 Java 中将字符串转换为十六进制

2022-08-31 09:00:25

我正在尝试将像“testing123”这样的字符串转换为java中的十六进制形式。我目前正在使用BlueJ。

要将其转换回去,除了向后转换之外,它是一回事吗?


答案 1

以下是将其转换为十六进制的简短方法:

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

答案 2

要确保十六进制的长度始终为 40 个字符,BigInteger 必须为正数:

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