Open ArthurWangCN opened 2 years ago
1.什么是 Base64 Base64 是一种基于 64 个可打印字符来表示二进制数据的编码方式,是从二进制数据到字符的过程。 原则上,计算机中所有内容都是二进制形式存储的,所以所有内容(包括文本、影音、图片等)都可以用 base64 来表示。
2.适用场景
3.Base64 编码原理 Base64 编码之所以称为 Base64,是因为其使用 64 个字符来对任意数据进行编码,同理有 Base32、Base16 编码。标准 Base64 编码使用的 64 个字符为:有点特殊的是最后两个字符,因对最后两个字符的选择不同,Base64 编码又有很多变种,比如用于编码 URL 的Base64 URL 编码。
Base64 编码本质上是一种将二进制数据转成文本数据的方案。对于非二进制数据,是先将其转换成二进制形式,然后每连续 6 比特(2 的 6 次方=64)计算其十进制值,根据该值在上面的索引表中找到对应的字符,最终得到一个文本字符串。
假设我们要对 Hello! 进行 Base64 编码,按照 ASCII 表,其转换过程如下图所示:可知 Hello! 的 Base64 编码结果为 SGVsbG8h,每 3 个原始字符经 Base64 编码成 4 个字符。那么,当原始字符串长度不能被 3 整除时,怎么办呢? 以 Hello!! 为例,其转换过程为: Hello!! Base64 编码的结果为 SGVsbG8hIQAA。可见,不能被 3 整除时会采用来来补 0 的方式来完成编码。 需要注意的是:标准 Base64 编码通常用 = 字符来替换最后的 A,即编码结果为 SGVsbG8hIQ==。因为 = 字符并不在 Base64 编码索引表中,其意义在于结束符号,在 Base64 解码时遇到 = 时即可知道一个 Base64 编码字符串结束。
4.优缺点 优点:可以将二进制数据转化为可打印字符,方便传输数据,对数据进行简单的加密,肉眼安全。 缺点:内容编 码后体积变大,编码和解码需要额外工作量。
1.什么是 Base64 Base64 是一种基于 64 个可打印字符来表示二进制数据的编码方式,是从二进制数据到字符的过程。 原则上,计算机中所有内容都是二进制形式存储的,所以所有内容(包括文本、影音、图片等)都可以用 base64 来表示。
2.适用场景
3.Base64 编码原理 Base64 编码之所以称为 Base64,是因为其使用 64 个字符来对任意数据进行编码,同理有 Base32、Base16 编码。标准 Base64 编码使用的 64 个字符为:有点特殊的是最后两个字符,因对最后两个字符的选择不同,Base64 编码又有很多变种,比如用于编码 URL 的Base64 URL 编码。
Base64 编码本质上是一种将二进制数据转成文本数据的方案。对于非二进制数据,是先将其转换成二进制形式,然后每连续 6 比特(2 的 6 次方=64)计算其十进制值,根据该值在上面的索引表中找到对应的字符,最终得到一个文本字符串。
假设我们要对 Hello! 进行 Base64 编码,按照 ASCII 表,其转换过程如下图所示:可知 Hello! 的 Base64 编码结果为 SGVsbG8h,每 3 个原始字符经 Base64 编码成 4 个字符。那么,当原始字符串长度不能被 3 整除时,怎么办呢? 以 Hello!! 为例,其转换过程为: Hello!! Base64 编码的结果为 SGVsbG8hIQAA。可见,不能被 3 整除时会采用来来补 0 的方式来完成编码。 需要注意的是:标准 Base64 编码通常用 = 字符来替换最后的 A,即编码结果为 SGVsbG8hIQ==。因为 = 字符并不在 Base64 编码索引表中,其意义在于结束符号,在 Base64 解码时遇到 = 时即可知道一个 Base64 编码字符串结束。
4.优缺点 优点:可以将二进制数据转化为可打印字符,方便传输数据,对数据进行简单的加密,肉眼安全。 缺点:内容编 码后体积变大,编码和解码需要额外工作量。