前言
Base64
编码与ASCII
编码一样,也是一种编码方式。不同的是ASCII
码采用7位二进制数表示(包括大小写字母、数字、标点符号和一些不可见字符),而Base64
采用6位二进制数表示(包括大小写字母
、0~9数字
、+
和/
)
Base64
不仅可以对字符串进行编码,还可以对视频、图像、音乐等进行编码
举个栗子,使用echo 'HelloWorld'
命令在终端中显示HelloWorld
,对HelloWorld
进行Base64
编码,则使用命令echo 'HelloWorld' | base64
编码原理
以HelloWorld
为例,第一步是将其转变为二进制,如下图所示:
第二步是将二进制串,每6位为一组进行分组,若最后一组不够6位,使用0进行补齐。
第三步是将6位的二进制数转化为十进制数,再根据Base64
编码表转换为对应的字符。
编码之后的结果为SGVsbG9Xb3JsZAo
,值得注意的是:编码之后的字符串长度需要为4的倍数,如果不是4的倍数,需要在字符串之后添加=
,即最终编码结果为:SGVsbG9Xb3JsZAo=
补充
1)除了Base64
编码外,还存在Base16
、Base32
、Base36
、Base58
、Base62
、Base85
、Base91
、Base92
、Base128
2)应用场景:电子邮件、URL传参、数据存储等场景
3)Base64
解密,使用命令echo 'SGVsbG9Xb3JsZAo=' | base64 -d
即可解密
无情的广告时间
哈哈哈哈,又到了大家喜欢的广告时间了,喜欢的话给个关注呗,公众号:编码魔坊
,谢谢您的关注!!!