在 Java 中将字符串转换为十六进制
在处理二进制数据或密码学时,将字符串转换为其十六进制表示形式至关重要。在 Java 中,可以使用 String 类和 BigInteger 类来完成此转换过程。
要将字符串转换为十六进制,可以使用以下步骤:
使用 getBytes() 将字符串转换为字节数组方法:
byte[] bytes = myString.getBytes(/*YOUR_CHARSET?*/);
使用 BigInteger 构造函数从字节数组创建一个新的 BigInteger 对象:
BigInteger bi = new BigInteger(1, bytes);
使用格式String类的()方法将BigInteger对象格式化为十六进制string:
String hexString = String.format("%040x", bi);
生成的 hexString 将是原始字符串的 40 个字符的十六进制表示。
将十六进制字符串转换回字符串
十六进制字符串转换回来的过程转换为字符串与上面的过程类似,但是相反。
使用 BigInteger 构造函数将十六进制字符串转换为 BigInteger 对象:
BigInteger bi = new BigInteger(hexString, 16);
使用BigInteger类的getBytes()方法将BigInteger对象转换为字节array:
byte[] bytes = bi.getBytes();
使用 String 构造函数从字节数组创建一个新的 String 对象:
String myString = new String(bytes);
生成的 myString将是转换为十六进制的原始字符串。
以上是如何在 Java 中将字符串转换为十六进制并返回?的详细内容。更多信息请关注PHP中文网其他相关文章!