Base64 编码

文本与 Base64 互转

Base64 编码结果将显示在这里

文件转 Base64图片/文件转 Data URI
拖拽图片或文件转为 Base64 编码字符串
历史记录暂无
操作后自动记录
Base64 说明编码原理
原理3字节→4个ASCII字符
体积编码后增大约33%
用途邮件/JWT/Data URI

在线Base64编码工具

免费在线Base64编码工具。将文本、中文、Emoji快速转为Base64字符串,支持文件和图片转Base64 Data URI。完全本地处理,安全可靠。

文本转Base64

支持中文、Emoji、特殊字符等所有Unicode输入。自动处理UTF-8编码,将任意文本一键转为Base64字符串。

文件/图片转Base64

拖拽图片或文件即可生成Base64编码。支持生成Data URI格式(data:image/png;base64,...),可直接嵌入HTML/CSS。

安全本地编码

所有编码在浏览器本地完成,文本和文件不会上传至任何服务器。使用原生btoa API,结果准确可靠。

Base64编码原理与变体

深入了解Base64编码的工作原理和常见变体。

编码原理

3字节 → 4字符

每3个字节(24位)分成4个6位组,每组映射到A-Z、a-z、0-9、+、/ 共64个字符。不足3字节时用00填充,并用 = 号标记填充位数。

字符表

64个可打印字符

标准Base64使用A-Za-z0-9+/共64个可打印ASCII字符加上 = 填充符。编码结果只包含在任何文本系统中都安全的字符。

Base64URL

RFC 4648 §5

将 + 替换为 -,/ 替换为 _,去掉末尾 = 填充。用于URL、文件名等不允许特殊字符的场景,如JWT Token。

大小增长

约33%开销

每3字节编码为4字符,体积增大约33%。加上换行等格式化,实际增长可能达35-37%。大文件建议使用二进制传输。

MIME Base64

RFC 2045

用于电子邮件的Base64变体。每76个字符插入换行符,确保邮件服务器能正确处理。这是Base64最初的应用场景。

Data URI

data:[type];base64,...

将文件内容嵌入URL中。格式为 data:image/png;base64,iVBO...。常用于小图片内联、CSS背景、favicon等,减少HTTP请求。

编码应用场景

邮件附件编码

SMTP协议只支持ASCII文本。邮件的图片、文档等附件都需要Base64编码后才能作为文本传输。

生成Data URI

将小图片编码为Base64嵌入HTML/CSS中,格式为data:image/png;base64,...。减少HTTP请求,提升页面加载速度。

API二进制传输

在JSON API中无法直接传输二进制数据。将图片、文件Base64编码后作为字符串字段传输是常见方案。

配置文件嵌入

将证书、密钥等二进制数据Base64编码后嵌入YAML/JSON配置。如Kubernetes的Secret就使用Base64编码。

Base64编码专业知识

Base64 不是加密

Base64是编码而非加密,任何人都能轻松解码。它的目的是将二进制数据转为安全的文本格式传输,而非保护数据机密性。敏感数据应使用AES、RSA等加密算法。

UTF-8 编码流程

对中文等多字节字符,编码流程是:文本→UTF-8字节→Base64字符串。如"你好"先转为6个UTF-8字节(E4BDA0 E5A5BD),再编码为8个Base64字符。

填充与 = 号

Base64每次处理3字节。不足时末尾用 = 填充:剩余1字节加==,剩2字节加=。某些实现(如Base64URL)省略填充符,解码时自动补齐。

体积与性能

Base64编码后体积增大约33%。对大文件应使用二进制传输(如multipart/form-data)。图片内联应限于几KB,否则显著增大页面体积,得不偿失。

常见问题

Q.Base64编码和加密有什么区别?

Base64是编码而非加密,任何人都可以轻松解码。它的目的是将二进制数据转为只包含ASCII字符的文本格式,方便在文本协议中传输。敏感数据应使用AES、RSA等加密算法保护。

Q.Base64编码后为什么体积变大了?

Base64将每3个字节(24位)编码为4个字符,体积固定增大约33%。这是将任意二进制数据映射到仅有64个字符的安全字符集所必须付出的代价。

Q.Base64字符串末尾的 = 是什么?

= 是填充符。Base64每次处理3个字节,如果原始数据不是3的倍数,用 = 补齐。剩余1个字节末尾加 ==,剩2字节加 =。无填充说明原始数据刚好是3的倍数。

Q.在线Base64编码安全吗?

完全安全。本工具使用浏览器原生btoa API,所有编码操作在本地完成。您的文本和文件不会发送到任何服务器。即使断网也能正常使用。