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

标签 java string binary base64 ascii

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

我想将“AAAC”转换为 ASCII 十六进制字节字符串以输出类似“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

关于java - 在 Java 中将 Base64 字符串转换为字节值字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26588483/

相关文章:

string - 让 Lua 中的数字更容易阅读

java - 字符串作为 switch 语句

javascript - js中如何将无符号数转换为2的补码

Java 缺少按钮文本

java - 我的 zkoss 代码出了什么问题

Java代码自动化文档/演示

java - SonarQube 在 RulesDefinition 中获取属性

c - 解析文件中的字符串并创建二叉树的程序中出现段错误

javascript - 为什么 1 & 1 === 1 返回 true 而 2 & 2 === 2 返回 false?

c++ - 为什么这个 bitset 收集算法不起作用?