Base64 编解码
文本与 Base64 互相编码解码,支持 UTF-8 中文。
什么是Base64 编解码?
Base64 是一种二进制到文本的编码方式,用 64 个可打印字符表示任意字节数据,常用于在文本协议中传输二进制内容(如邮件附件、JSON 中嵌入图片、HTTP Basic 认证)。 它不是加密算法,没有密钥,任何人拿到 Base64 字符串都可以直接还原出原文,不提供任何机密性保护。
为什么使用Base64 编解码?
典型场景包括:用 data URL 把图片/字体直接嵌入 HTML 或 CSS、JWT 的 Header 和 Payload 部分的编码、HTTP Basic Auth 中 user:password 的编码、在只支持文本的协议(如邮件 MIME、部分配置文件)中安全携带二进制数据。 区别于加密算法(如 AES)——Base64 的目的是编码转换,不是保密,敏感数据仅做 Base64 处理并不安全;也区别于 URL 编码——Base64 处理的是任意字节流,URL 编码只转义 URL 中的保留字符。
使用示例
编码中文文本
输入“你好,World”,先按 UTF-8 转成字节再编码,得到类似 5L2g5aW9LFdvcmxk 的 Base64 字符串。
解码还原原文
输入 aGVsbG8=,解码得到 hello;末尾的 = 是填充字符,用来让编码结果长度补齐为 4 的倍数。
构造图片 Data URL
把一张小图标转成 Base64 后拼接成 data:image/png;base64,iVBORw0KG... 这样的字符串,可以直接放进 <img src="..."> 或 CSS background-image,省去一次网络请求。
使用提示
全程在浏览器本地 JavaScript 中完成,文本不会上传到服务器;对非 ASCII 文本编解码时务必统一按 UTF-8 处理字节,否则容易出现乱码。
常见问题
支持中文 / UTF-8 吗?
Base64 是加密吗?
数据会上传吗?
Base64 是加密吗,安全吗?
编码结果结尾为什么会有 = 号?
能处理中文和 emoji 吗?
解码时报错 invalid character 是为什么?
为什么编码后文本变长了?
相关工具
相关教程
← 返回工具箱· 数据均在浏览器本地处理,不上传服务器。