首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >哪个Java库提供base64编码/解码?

哪个Java库提供base64编码/解码?
EN

Stack Overflow用户
提问于 2013-01-19 18:02:28
回答 4查看 199.1K关注 0票数 87

我想知道使用哪个库来进行base64编码/解码?我需要这个功能是足够稳定的生产使用。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-01-19 18:19:35

Java 9

使用Java 8解决方案。注意:仍然可以使用DatatypeConverter,但它现在位于需要包含的java.xml.bind模块中。

代码语言:javascript
复制
module org.example.foo {
    requires java.xml.bind;
}

Java 8

Java8现在提供了用于编码和解码base64的java.util.Base64

编码

代码语言:javascript
复制
byte[] message = "hello world".getBytes(StandardCharsets.UTF_8);
String encoded = Base64.getEncoder().encodeToString(message);
System.out.println(encoded);
// => aGVsbG8gd29ybGQ=

解码

代码语言:javascript
复制
byte[] decoded = Base64.getDecoder().decode("aGVsbG8gd29ybGQ=");
System.out.println(new String(decoded, StandardCharsets.UTF_8));
// => hello world

Java 6和7

从Java6开始,可以使用鲜为人知的类javax.xml.bind.DatatypeConverter。这是JRE的一部分,不需要额外的库。

编码

代码语言:javascript
复制
byte[] message = "hello world".getBytes("UTF-8");
String encoded = DatatypeConverter.printBase64Binary(message);
System.out.println(encoded);
// => aGVsbG8gd29ybGQ=  

解码

代码语言:javascript
复制
byte[] decoded = DatatypeConverter.parseBase64Binary("aGVsbG8gd29ybGQ=");
System.out.println(new String(decoded, "UTF-8"));
// => hello world
票数 292
EN

Stack Overflow用户

发布于 2013-01-19 18:03:28

Apache Commons中,commons-codec-1.7.jar包含一个可用于编码的Base64类。

通过Maven:

代码语言:javascript
复制
<dependency>
    <groupId>commons-codec</groupId>
    <artifactId>commons-codec</artifactId>
    <version>20041127.091804</version>
</dependency>

Direct Download

票数 15
EN

Stack Overflow用户

发布于 2015-03-27 02:29:37

如果你是一个安卓开发人员,你可以使用android.util.Base64类来实现这个目的。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14413169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档