用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