跳到工具区
数据与格式

Base64 编码 / 解码

在浏览器本地转换文本与 Base64,支持 UTF-8 等文本编码、标准与 URL-safe 字母表。

Web Worker 仅本地处理工具
输入0 个字符
结果0 个字符
就绪

字符不是字节 · 字节也不是 Base64 符号

先弄清原始字节,再谈 Base64。

Base64 不认识“中文”或 emoji。它先接收按 UTF-8 等字符编码生成的字节,再把每 6 bit 映射为可打印 ASCII。解码则只还原字节,能否读成文本取决于双方约定的字符编码。

01

字符

A · 码 · 🔧

人看到的内容

02

UTF-8 字节

41 · E7 A0 81 · F0 9F 94 A7

真正进入 Base64 的数据

03

6-bit 分组

010000 011110 011110 …

每 24 个输入 bit 分成 4 组

04

Base64 符号

Qeegg…

便于文本通道传输的 ASCII

两套 RFC 字母表

只替换两个符号,协议含义却不能混用。

Shared 62 symbols · A–Z · a–z · 0–9
索引 62+-

+ 在 URL 或表单中可能有特殊含义

索引 63/_

/ 会被当作路径分隔符

padding=常被省略

是否可省略由上层协议决定

名称Base64base64url

转换前必须确认使用哪种变体

padding 工作台

末尾不足 3 字节时,才需要等号补位。

3 个输入字节24 个数据 bit4 个符号无需 padding
2 个输入字节16 个数据 bit + 补零 bit3 个符号 + =1 个 =
1 个输入字节8 个数据 bit + 补零 bit2 个符号 + ==2 个 =

规范编码要求未使用的 pad bits 为 0。有些协议允许省略末尾 =,但长度除以 4 余 1 始终不可能构成有效 Base64。

解码结果分流

Base64 解码成功,只能说明拿到了字节。

UTF-8 文本

48 65 6C 6C 6F

用严格 UTF-8 解码器还原字符

二进制数据

00 FF A3 10 …

展示字节,不用替换字符伪造“文本”

已知文件签名

89 50 4E 47 …

可能是 PNG,仍需按真实格式校验

Data URL

data:image/png;base64,…

前缀提供媒体类型,它不是 Base64 payload

严格校验清单

遇到歧义输入,应指出具体原因。

输入含 #

不属于所选 Base64 字母表

QUI===

padding 过多或位置错误

QU JD

严格模式拒绝内部空白

a+b/c

Base64URL 模式混入标准字母表

A

长度除以 4 余 1,不可能有效

pad bits 非零

可以还原字节,但不是规范编码

BASE64 不是加密

改变表示方式,不提供机密性或完整性。

不是加密

任何拿到内容的人都能还原字节。

不校验完整性

数据可以被修改后重新编码。

约 4 : 3 的传输开销

不计外层协议,每 3 个输入字节通常变成 4 个输出字符。

直接回答

什么是 Base64 编码 / 解码?

在浏览器本地完成 Base64 编码与解码,支持 UTF-8、URL-safe、缺失 padding 和严格校验。Base64 是字节表示方式,不是加密;解码成功也不代表结果一定是文本。

它能做什么?

  • 自动
  • 编码
  • 解码

如何使用 Base64 编码 / 解码

  1. 01

    选择任务

    在工作区选择自动、编码和解码。

  2. 02

    提供输入

    SGVsbG8sIERldlNleHkh。内容始终留在浏览器的本地处理流程中。

  3. 03

    检查结果

    运行工具,检查结果和诊断信息;页面提供复制或下载时,可以直接导出。

常见问题

Base64 编码 / 解码是什么?
在浏览器本地完成 Base64 编码与解码,支持 UTF-8、URL-safe、缺失 padding 和严格校验。Base64 是字节表示方式,不是加密;解码成功也不代表结果一定是文本。
Base64 编码 / 解码能做什么?
Base64 编码 / 解码支持自动、编码和解码,所有模式都可以直接在当前页面使用。
Base64 编码 / 解码会上传我的数据吗?
Base64 编码 / 解码会在浏览器本地处理输入内容。DevSexy 不会增加上传、登录或服务器处理步骤。
DevSexy 在浏览器本地处理工具输入:不追踪粘贴内容,无需账号,也没有上传步骤。