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