但凡从事码工这一行多多少少會遇到
这个概念,因为我们总要接触互联网而 Base64 编码诞生的目的就是为了让二进制数据能够在只支持文本的媒介上传输,比如说在网络上傳输一张图片或者一段音频而 Base64 本身是一种无损编码转换规则,同时编码后的内容与原始内容差别非常大所以很多时候大家在网上留联系方式的时候也喜欢用 Base64 转换一下,既能把信息传达给网友又避免了充斥在网络上的各种机器人的骚扰,比如
的自我介绍甚至还贴心地給出了完整的解码命令行。
那么 Base64 的编码规则是怎样的因为在计算机的世界中,所有的内容都以字节数组( Byte Array )的形式呈现所以 Base64 的输入数據自然是字节数组,每一个字节有 8 位 bit Base64 以每三个字节为一组,然后均分成四份每一份有 6 个 bit ,而这 6 个 bit 恰好就能对应到 64 个指定的 ASCII 字符上去。转换规则如下(抄自
0 |
0
|
那么如果输入的字节长度不是 3 的整数倍最后的一个或两个字节岂不是就无法应用上述规则了吗?所以 Base64 规定对于末尾的空位,用等号 =
补齐因此转换而成的 Base64 编码的长度总是 4 的整数倍。
简而言之给一段二进制数据进行 Base64 编码时,需要以下三步
上也给出叻不同情况下的转换示例
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
M
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
解码的过程就是编码的逆过程同样地,也可以用三步来概括
为了证明自己会写 ,闲暇时用 Java + Maven 简单写了一个 Base64 的编码和解码方法为了节约篇幅,这里省掉了类的定义以及依赖的引入
但凡从事码工这一行多多少少會遇到
这个概念,因为我们总要接触互联网而 Base64 编码诞生的目的就是为了让二进制数据能够在只支持文本的媒介上传输,比如说在网络上傳输一张图片或者一段音频而 Base64 本身是一种无损编码转换规则,同时编码后的内容与原始内容差别非常大所以很多时候大家在网上留联系方式的时候也喜欢用 Base64 转换一下,既能把信息传达给网友又避免了充斥在网络上的各种机器人的骚扰,比如
的自我介绍甚至还贴心地給出了完整的解码命令行。
那么 Base64 的编码规则是怎样的因为在计算机的世界中,所有的内容都以字节数组( Byte Array )的形式呈现所以 Base64 的输入数據自然是字节数组,每一个字节有 8 位 bit Base64 以每三个字节为一组,然后均分成四份每一份有 6 个 bit ,而这 6 个 bit 恰好就能对应到 64 个指定的 ASCII 字符上去。转换规则如下(抄自
0 |
0
|
那么如果输入的字节长度不是 3 的整数倍最后的一个或两个字节岂不是就无法应用上述规则了吗?所以 Base64 规定对于末尾的空位,用等号 =
补齐因此转换而成的 Base64 编码的长度总是 4 的整数倍。
简而言之给一段二进制数据进行 Base64 编码时,需要以下三步
上也给出叻不同情况下的转换示例
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
M
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
解码的过程就是编码的逆过程同样地,也可以用三步来概括
为了证明自己会写 ,闲暇时用 Java + Maven 简单写了一个 Base64 的编码和解码方法为了节约篇幅,这里省掉了类的定义以及依赖的引入