我有一张经过 Base64 编码的图像。在 Java 中解码的最佳方法是什么?希望只使用 Sun Java 6 中包含的库。
原文由 Ryan P 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有一张经过 Base64 编码的图像。在 Java 中解码的最佳方法是什么?希望只使用 Sun Java 6 中包含的库。
原文由 Ryan P 发布,翻译遵循 CC BY-SA 4.0 许可协议
从 Java 8 开始,有官方支持的 Base64 编码和解码 API。随着时间的推移,这可能会成为默认选择。
API 包括类 java.util.Base64
及其嵌套类。它支持三种不同的风格:基本、URL 安全和 MIME。
使用“基本”编码的示例代码:
import java.util.Base64;
byte[] bytes = "Hello, World!".getBytes("UTF-8");
String encoded = Base64.getEncoder().encodeToString(bytes);
byte[] decoded = Base64.getDecoder().decode(encoded);
String decodedStr = new String(decoded, StandardCharsets.UTF_8);
java.util.Base64
的文档 包括更多用于配置编码器和解码器以及使用不同类作为输入和输出(字节数组、字符串、字节缓冲区、java.io 流)的方法。
原文由 Andrea 发布,翻译遵循 CC BY-SA 4.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
从 v6 开始,Java SE 附带 JAXB。
javax.xml.bind.DatatypeConverter
有静态方法使这变得容易。参见parseBase64Binary()
和printBase64Binary()
。更新:JAXB 不再随 Java 一起提供(自 Java 11 起)。如果您的项目需要 JAXB,则需要通过依赖项管理系统(例如 Maven)配置相关库。如果您需要编译器(
xjc.exe
),您还需要单独下载。