在 Java 中将字符串转换为十六进制
在处理低级编程操作时经常会遇到使用十六进制值。这包括创建校验和、操作二进制数据以及与硬件设备连接等场景。 Java 提供了一种将字符串转换为十六进制表示形式的简单方法。
要将“testing123”这样的字符串转换为十六进制,您可以利用 Java 的 BigInteger 类。以下代码片段说明了如何实现这一点:
public String toHex(String arg) { return String.format("%040x", new BigInteger(1, arg.getBytes(/*YOUR_CHARSET?*/))); }
toHex 方法采用字符串作为参数并返回其十六进制表示形式。 String.format 方法用于确保生成的十六进制字符串具有 40 个字符的固定长度(在本例中)。
关于将十六进制值转换回字符串,过程类似,但相反。您可以使用 BigInteger 类的 toString 方法将十六进制表示形式转换回字符串。
public String fromHex(String arg) { return new String(new BigInteger(arg, 16).toByteArray()); }
fromHex 方法假定输入字符串表示有效的十六进制值。它使用 toByteArray 方法将十六进制字符串转换回字节数组,然后从这些字节构造一个字符串。
这提供了一种在 Java 中处理十六进制值的便捷方法,确保顺利处理其数据原始形式。
以上是如何在 Java 中将字符串与十六进制相互转换?的详细内容。更多信息请关注PHP中文网其他相关文章!