繁体   English   中英

在Java中将Base64字符串转换为字节值字符串

[英]Convert Base64 String to Byte Value String in Java

我有一个Base64字符串,它是'AAAC',二进制相当于3字节(00000000 00000000 00000010)。

我想将'AAAC'转换为ASCII Hex Byte String以输出类似'000002'的内容。

我试过下面的。

byte[] test = Base64.decode(data.getBytes());
StringBuilder sb = new StringBuilder();
for (byte b : test) {
    sb.append(String.format("%02X ", b));
}
System.out.println(sb.toString()); 
//Output: 00 00 02 

这有效,但是有更方便的方法吗?

任何帮助,将不胜感激。 提前致谢。

您可以使用DatatypeConverter类:

String result =
    DatatypeConverter.printHexBinary(DatatypeConverter
        .parseBase64Binary("AAAC"));

System.out.println(result);

印刷品: 000002

使用Guava库 ,这可能看起来像

BaseEncoding.base16().toUpperCase().withSeparator(" ", 2)
  .encode(BaseEncoding.base64().decode(data));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM