当前位置: 代码网 > it编程>编程语言>Java > Java Base64编码怎么用?一文详解java.util.Base64类实现与原理

Java Base64编码怎么用?一文详解java.util.Base64类实现与原理

2026年08月06日 Java 我要评论
java实现使用java.util.base64类来实现base64编码。该类是java8引入的。string str = "sd";system.out.println("str:" + str);

java实现

使用java.util.base64类来实现base64编码。

该类是java8引入的。

string str = "sd";
system.out.println("str:" + str);

// 进行base64编码
byte[] bytes = str.getbytes("utf-8");
string encode = base64.getencoder().encodetostring(bytes);
system.out.println("encode:" + encode);

// 进行base64解码
byte[] bytes1 = base64.getdecoder().decode(encode);
string decode = new string(bytes1, "utf-8");
system.out.println("decode:" + decode);
输出:

str:sd
encode:c2q=
decode:sd

上面就是java实现的代码,使用起来是很方便的。下面来说说base64编码的原理。

base64编码

base64编码的作用:将字符串转为由64个特定字符组成的编码,这种编码方式适用于不支持特定编码的情况。

详解

一、首先来看,原字符串是“sd”。

将字符串转为二进制编码形式。这里是采用utf-8。

  • s的编码:115。二进制展示是:01110011。
  • d的编码:100。二进制展示是:01100100。

上面的二进制是8个字节的,由于要转换为64个字符展示的字符串,所以需要以6个字节作为一个单位来展示。

我们将两个编码合并起来:0111001101100100

二、由于现在是16个字节(8+8),如果以6个字节为单位的话,字节数量是不够的。

因此在后面补0:011100110110010000

三、然后以6个字节为单位分割该编码:011100,110110,010000

再转换为十进制表示:28,54,16

四、根据下面表格

找到索引对应的字符,得到base64编码的结果:c2q

--图片来源base64百度百科

五、通常,编码结果不满4个字符时,会在后面补上=

因此编码的最终结果是:c2q=

既然编码方式知道了,那么解码方式也就知道了。这里就不详细再说了。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com