如何将十六进制字符串转换为Java字符串?

2022-08-31 19:42:46

出于日志记录目的,我们将日志转换为字节数组,然后转换为十六进制字符串。我想在Java字符串中取回它,但我无法做到这一点。

日志文件中的十六进制字符串如下所示

fd00000aa8660b5b010006acdc0100000101000100010000

如何解码?


答案 1

在Apache Commons中使用Hex

String hexString = "fd00000aa8660b5b010006acdc0100000101000100010000";    
byte[] bytes = Hex.decodeHex(hexString.toCharArray());
System.out.println(new String(bytes, "UTF-8"));

答案 2
byte[] bytes = javax.xml.bind.DatatypeConverter.parseHexBinary(hexString);
String result= new String(bytes, encoding);