Base64 编码

使用 Base64 编码工具,您可以使用 Base64 方法对输入的文本进行加密。如果您愿意,可以使用 Base64 解码工具对加密的 Base64 代码进行解码。

什么是 Base64 编码?

Base64 编码是一种编码方案,它允许在仅使用某些受限字符编码的环境(并非所有字符代码都可以使用的环境,例如 xml、html、脚本、即时消息应用程序)上传输二进制数据。该方案的字符数为64,Base64这个词中的数字64来自这里。

为什么使用 Base64 编码?

对 Base64 编码的需求源于媒体以原始二进制格式传输到基于文本的系统时出现的问题。由于基于文本的系统(如电子邮件)将二进制数据解释为范围广泛的字符,包括特殊的命令字符,传输到传输介质的大多数二进制数据都被这些系统误解,并在传输过程中丢失或损坏过程。

以一种避免此类传输问题的方式对此类二进制数据进行编码的一种方法是将它们作为 Base64 编码格式的纯 ASCII 文本发送。这是 MIME 标准用来发送非纯文本数据的技术之一。许多编程语言,例如 PHP 和 Javascript,都包含 Base64 编码和解码函数来解释使用 Base64 编码传输的数据。

Base64 编码逻辑

在 Base64 编码中,3 * 8 位 = 24 位的数据由 3 个字节组成,分为 4 组,每组 6 位。这4个6位组的[0-64]之间的十进制值对应的字符从Base64表中匹配出来进行编码。通过 Base64 编码获得的字符数必须是 4 的倍数。不是 4 的倍数的编码数据不是有效的 Base64 数据。使用Base64算法编码时,当编码完成后,如果数据长度不是4的倍数,则在编码的末尾添加“=”(等于)字符,直到为4的倍数。例如,如果我们有 10 个字符的 Base64 编码数据作为编码的结果,则应在末尾添加两个“==”。

Base64 编码示例

例如,取三个 ASCII 数字 155、162 和 233。这三个数字组成一个二进制流 100110111010001011101001。诸如图像之类的二进制文件包含一个二进制流,可用于数万或数十万个零和一。Base64 编码器首先将二进制流分成六个字符的组:100110 111010 001011 101001。每个分组都被转换为数字 38、58、11 和 41。一个六字符的二进制流在二进制(或基本)之间转换。2) 通过位置平方对二进制数组中由 1 表示的每个值进行平方来转换为十进制 (base-10) 字符。从右开始向左移动从零开始,二进制流中的值代表2^0,然后2^1,然后2^2,然后2^3,然后2^4,然后2^ 5.

这是另一种看待它的方式。从左边开始,每个位置值 1、2、4、8、16 和 32。如果插槽的二进制数为 1,则添加该值;如果插槽为 0,则您丢失了。二进制数组 100110 转 38:0 * 2 ^ 01 + 1 * 2 ^ 1 + 1 * 2 ^ 2 + 0 * 2 ^ 3 + 0 * 2 ^ 4 + 1 * 2 ^ 5 = 0 + 2 十进制 + 4 + 0 + 0 + 32。Base64编码取这个二进制字符串,把它分成6位值38、58、11和41。最后,使用 Base64 编码表将这些数字转换为 ASCII 字符。