Base64 编码解码(UTF-8 中文友好)
输入内容(要编码的文本,或要解码的 Base64 字符串)
输出结果
工具说明
Base64 是一种把任意二进制数据表示成 64 个安全字符(A-Z、a-z、0-9、+ /)的编码方式,广泛用于 HTTP Basic Auth 凭证、JSON Web Token(JWT)的三个组成段、Data URL 内嵌图片、邮件附件传输以及各类 API 密钥的传递格式。本工具实现文本 ⇄ Base64 双向转换,并正确处理 UTF-8:先用 TextEncoder 把中文转成 UTF-8 字节再编码,解码时反向还原,不会出现其他简单工具里常见的中文乱码问题。
调试接口时它是常备工具:把 JWT 粘进来点「解码」可以查看 header 和 payload 里的实际内容;对接需要 Base64 凭证的系统(如 SMTP、API 网关)时可以快速生成「用户名:密码」的编码串;排查「Base64 后中文变问号」这类问题时,用它对比即可确认是编码端还是解码端丢掉了 UTF-8 环节。再次提醒:Base64 是编码不是加密,任何拿到字符串的人都能还原出原文,不要把它当作保护敏感信息的手段。
常见问题
Base64 是加密吗?安全吗?
不是加密,只是编码。Base64 是完全可逆的公开算法,任何人拿到字符串都能立即还原。它可以防止「肉眼直接可读」,但不能作为保护密码、密钥等敏感信息的手段。
为什么中文直接 btoa 会报错,这里却可以?
浏览器原生 btoa 只接受 Latin1 字符,中文必须先经过 TextEncoder 转成 UTF-8 字节串再编码。本工具正是采用「TextEncoder + btoa」组合,因此中英文混合文本都能正确往返,不产生乱码。
Base64 编码后体积会变大多少?
约增加 33%(每 3 字节编成 4 字符)。工具在编码完成时会把结果长度和体积比例一并显示出来。
什么是 URL-safe Base64?支持吗?
标准 Base64 中的 + 和 / 在 URL 里可能有歧义,URL-safe 变体把它们替换为 – 和 _。本工具解码时自动识别并兼容这两种变体,同时会忽略换行和空格(常见于邮件转发的折行)。
解码出来的 JWT 为什么是乱码或部分可读?
JWT 的每一段本身是 Base64URL 编码的 JSON,可正常还原阅读;如果你解的是签名段(第三段),它还原后是原始二进制字节,显示为乱码属于正常现象。