BASE64 编码/解码工具

编码模式
解码模式
当前模式:编码 - 将普通文本转换为BASE64编码

示例

原始文本
Man is distinguished, not only by his reason, but by this singular passion from other animals...
BASE64编码后
TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlz...
编码过程示例("Man" → "TWFu")
字符 M a n
ASCII码 77 97 110
二进制 01001101 01100001 01101110
6位分组 010011 | 010110 | 000101 | 101110
十进制 19 22 5 46
BASE64 T W F u

BASE64 编码说明

Base64 是一种基于 64 个可打印字符来表示二进制数据的表示方法,由于 26=64,所以每 6 个比特为一个单元,对应某个可打印字符。

Base64 常用于在通常处理文本数据的场合,表示、传输、存储一些二进制数据,包括 MIME 的电子邮件及 XML 的一些复杂数据。

编码原理:Base64 编码要求把 3 个 8 位字节(3×8=24)转化为 4 个 6 位的字节(4×6=24),之后在 6 位的前面补两个 0,形成 8 位一个字节的形式。

编码步骤

  • 将数据划分为 3 个字节一组(24位)
  • 将每个字节转换为 8 位二进制形式
  • 将 24 位数据按照 6 位一组进行划分,得到 4 个 6 位的组
  • 将每个 6 位的组转换为对应的 Base64 字符
  • 如果数据不足 3 字节,进行填充,输出字符使用 =

编码特点

  • 编码后的数据长度总是比原始数据长约 1/3
  • 编码后的数据可以包含 A-Z、a-z、0-9 和两个额外字符(+ 和 /)的任意组合
  • Base64 编码是一种可逆的编码方式,可以通过解码还原原始数据
  • 填充字符 = 可能出现 0、1 或 2 个在末尾

BASE64 编码表

字符字符字符字符
0A16Q32g48w
1B17R33h49x
2C18S34i50y
3D19T35j51z
4E20U36k520
5F21V37l531
6G22W38m542
7H23X39n553
8I24Y40o564
9J25Z41p575
10K26a42q586
11L27b43r597
12M28c44s608
13N29d45t619
14O30e46u62+
15P31f47v63/

常见应用场景

  • 在 URL 或 Cookie 中传输简单的数据
  • 电子邮件附件的 MIME 编码
  • 在 HTML 或 CSS 中嵌入小图片(Data URI)
  • 存储和传输二进制数据
  • HTTP Basic Authentication 认证