设置
语言设置
主题设置
Base64 编码/解码
用于二进制数据传输的 Base64 编码/解码工具
🚀 快速开始
- 在文本框输入内容(文本或 Base64 字符串)
- 点击“编码”或“解码”按钮开始处理
- 输入与结果共用同一文本框,可一键复制或清空
- 需要校验时:编码后切到“解码”验证一致性
📌 常见使用场景
- URL/JWT:优先使用 URL‑safe 变体(−/_),必要时可移除结尾“=”填充,避免链接转义问题
- 邮件/MIME:需要换行时采用 MIME 76 列(CRLF)规则;网页传输一般不换行。本工具提供 76 列换行与 LF/CRLF 切换开关
- 多行文本:开启“逐行编码”,每行独立输出 Base64,便于逐条处理
- MIME/PEM:开启“按 MIME 76 列换行(CRLF)”;若需 LF 行尾,同时开启“换行使用 LF(\n)”
- Data URL:嵌入时生成 data:[mime];base64,…;解码会自动截取逗号后的内容
- 往返校验:编码后立即解码,确认还原一致
🎛️ 编码参数与变体
- URL‑safe 输出
- 逐行编码(每行独立编码)
- 按 MIME 规范每 76 字符换行(CRLF)
- 换行使用 LF(\n)
- 自动补齐填充字符(=):长度对齐为 4 的倍数;长度不合法会提示
- 忽略空白:解码时自动移除换行与空格
🧭 使用建议
- 统一使用 UTF‑8,避免乱码
- 默认已采用 URL‑safe;如需标准 Base64,请在设置中关闭
- 跨系统传递建议移除换行与空白;仅用于展示时再加回
- 经 Base64 后体积约增 33%,不适合大文件
- 对接需要标准 Base64 的系统:关闭 URL‑safe(保留 +/ 与 =)
- 逐行编码会对已编码文本再次编码;如仅需变体转换,请关闭“逐行编码”后再点击“编码”
- 76 列换行仅影响显示;解码会自动忽略换行与空白
⚠️ 限制与兼容性
- 超长文本:可能导致浏览器失去响应或崩溃,建议分段处理
- 二进制:本界面以文本为主;二进制建议用 Data URL 或命令行工具
- 受浏览器内存限制影响可处理大小
🔒 隐私与安全
- 所有处理均在您的浏览器内完成,数据不会离开您的设备
- 安全提示:Base64 为编码,非加密。涉密场景请先加密再编码
❓ 常见问题
什么是 Base64?为什么要“编码”?
Base64 是一种把任意二进制数据安全表示为文本字符的编码方案。它最早用于电子邮件的 MIME 标准(1990 年代,RFC 1521/2045),后来由 RFC 4648 统一规范。目的不是“加密”,而是在以文本为主的系统/协议里可靠携带任意字节。 工作原理:每 3 个字节(24 位)拆成 4 个 6 位块,映射到 A–Z、a–z、0–9、+、/ 共 64 个字符;若源数据不是 3 的倍数,用“=”填充对齐。因此体积通常增加约 33%。 变体与选择:RFC 4648 定义了 URL‑safe 变体,用“-”“_”替代“+”“/”,并可省略结尾“=”。在 URL、Cookie、JWT 等场景推荐使用 URL‑safe;对接传统/MIME 工具链时使用标准 Base64(保留 +/ 与 =)。本工具默认输出 URL‑safe,解码自动兼容两种变体。 示例:??? → 标准为 Pz8/,URL‑safe 为 Pz8_;~~~ → 标准为 fn5+,URL‑safe 为 fn5-。 与 Data URL:当需将数据内嵌到文本(如 HTML/CSS)时,常写作 data:[mime];base64,……;解码时只需截取逗号后的编码部分(本工具会自动处理)。 里程碑(简史):1993 RFC 1521(MIME v1,Ned Freed & Nathaniel Borenstein)→ 1996 RFC 2045(MIME 更新,取代 1521)→ 2003 RFC 3548(Simon Josefsson,抽象 Base16/32/64)→ 2006 RFC 4648(Simon Josefsson,统一标准并明确 Base64URL,废止 3548)。另:1993 RFC 1421(PEM,J. Linn)使用 Radix‑64(与 Base64 同宗)以便邮件中携带二进制。 安全提示:Base64 只是“可逆格式化”,不提供机密性或完整性;敏感信息请先加密再编码。
Base64 是否安全?
否。任何人都可解码;需保密请先加密再编码
为什么提示“无效的 Base64 格式”?
仅允许 A–Z、a–z、0–9、+、/、=,且需满足长度规则
不同工具结果为何不同?
常见差异来自换行处理、是否保留“=”填充、URL‑safe 变体(−/_)以及实现细节。建议统一 UTF‑8、禁用自动换行,并明确是否使用 URL‑safe 及是否保留填充
为何编码后变大?
Base64 以 6 位表示 8 位,约 33% 的膨胀为方法特性
表情符号等特殊字符能处理吗?
使用 UTF‑8 可支持。非文本二进制解码后可能显示为“乱码”