我通过执行以下操作将字节数组转换为字符串
String s = encryptedBytes1.toString();
String gh = convertStringToHex(s);
然后我在屏幕上打印 gh
这是它返回的十六进制形式:
gh:[B@5985910
这是函数转换
public static String convertStringToHex(String str){
char[] chars = str.toCharArray();
StringBuffer hex = new StringBuffer();
for(int i = 0; i < chars.length; i++){
hex.append(Integer.toHexString((int)chars[i]));
}
return hex.toString();
}
谁能帮我打印十六进制形式字符串吗?
最佳答案
通常,您可以使用以下函数转换字符串和十六进制值(数字):
String hexString1 = "0x20";
Integer integer = Integer.decode(hexString); // is 32
String hexString1 = String.toHexString(integer); // is "20"
现在您需要迭代您的 byteArray/String。
编辑:当您指定问题时,请参阅此答案。我猜这是同样的问题:Converting A String To Hexadecimal In Java
关于java - 打印十六进制字符串的地址而不是十六进制字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23128829/