用Java解码Base64数据

我有一个Base64编码的图像。 在Java中解码的最佳方式是什么? 希望仅使用Sun Java 6附带的库。


从第6版开始,Java SE随JAXB一起提供。 javax.xml.bind.DatatypeConverter有一些简单的静态方法。 请参阅parseBase64Binary()printBase64Binary()


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);

java.util.Base64的文档包含更多的配置编码器和解码器的方法,以及使用不同的类作为输入和输出(字节数组,字符串,ByteBuffers,java.io流)的方法。


这是一个使用Apache Commons编解码器的工作示例:

import org.apache.commons.codec.binary.Base64;
import org.apache.commons.codec.binary.StringUtils;

public String decode(String s) {
    return StringUtils.newStringUtf8(Base64.decodeBase64(s));
}
public String encode(String s) {
    return Base64.encodeBase64String(StringUtils.getBytesUtf8(s));
}

Maven / sbt回购:commons-codec,commons-codec,1.8。

链接地址: http://www.djcxy.com/p/22135.html

上一篇: Decode Base64 data in Java

下一篇: JavaScript implementation of Gzip