我有一个Base64编码的图像。用Java解码的最佳方法是什么?希望仅使用Sun Java 6附带的库
从v6开始,Java SE随JAXB一起提供。javax.xml.bind.DatatypeConverter有静态方法可以简化这一过程。请参阅parseBase64Binary()和printBase64Binary()。
javax.xml.bind.DatatypeConverter
parseBase64Binary()
printBase64Binary()
从Java 8开始,有一个官方支持的用于Base64编码和解码的API。随着时间的推移,这可能会成为默认选择。
该API包括该类java.util.Base64及其嵌套类。它支持三种不同的类型:基本,URL安全和MIME。
java.util.Base64
使用“基本”编码的示例代码:
import java.util.Base64; byte[] bytes = "Hello, World!".getBytes("UTF-8"); String encoded = Base64.getEncoder().encodeToString(bytes); byte[] decoded = Base64.getDecoder().decode(encoded);
的文档java.util.Base64还提供了几种其他方法,用于配置编码器和解码器,以及将不同的类用作输入和输出(字节数组,字符串,ByteBuffers,java.io流)。