首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Java中解码Base64字符串

在Java中解码Base64字符串
EN

Stack Overflow用户
提问于 2012-07-18 23:11:18
回答 4查看 162.9K关注 0票数 70

我正在尝试解码一个简单的Base64字符串,但是无法这样做。我目前使用的是org.apache.commons.codec.binary.Base64包。

我使用的测试字符串是:abcdefg,使用PHP YWJjZGVmZw==编码。

这是我目前使用的代码:

代码语言:javascript
运行
复制
Base64 decoder = new Base64();
byte[] decodedBytes = decoder.decode("YWJjZGVmZw==");
System.out.println(new String(decodedBytes) + "\n") ;   

上面的代码没有抛出错误,但并没有像预期的那样输出解码的字符串。

EN

回答 4

Stack Overflow用户

发布于 2012-07-18 23:16:31

修改您正在使用的包:

代码语言:javascript
运行
复制
import org.apache.commons.codec.binary.Base64;

然后像这样使用它:

代码语言:javascript
运行
复制
byte[] decoded = Base64.decodeBase64("YWJjZGVmZw==");
System.out.println(new String(decoded, "UTF-8") + "\n");
票数 71
EN

Stack Overflow用户

发布于 2017-07-23 15:17:06

以下代码应适用于最新版本的Apache通用编解码器

代码语言:javascript
运行
复制
byte[] decodedBytes = Base64.getDecoder().decode("YWJjZGVmZw==");
System.out.println(new String(decodedBytes));

并用于编码

代码语言:javascript
运行
复制
byte[] encodedBytes = Base64.getEncoder().encode(decodedBytes);
System.out.println(new String(encodedBytes));
票数 16
EN

Stack Overflow用户

发布于 2019-05-02 04:44:08

如果你不想使用apache,你可以使用Java8:

代码语言:javascript
运行
复制
byte[] decodedBytes = Base64.getDecoder().decode("YWJjZGVmZw=="); 
System.out.println(new String(decodedBytes) + "\n");
票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11544568

复制
相关文章

相似问题

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