Java实现Base64编码以和原理
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=
既然编码方式知道了,那么解码方式也就知道了。这里就不详细再说了。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhggakff
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01