跳到主要内容

Base64 解码

​

扫描结果

把 Base64 粘贴进输入框就会即时解码:是文本就直接显示(UTF-8,中文不会乱码);是图片或其他文件,会判断文件类型、显示预览,并提供下载。data: 开头的 data URI、URL-safe 格式、中间有换行都能直接粘贴。要把文本或图片转成 Base64,切换到上方的编码标签,或使用 Base64 编码。所有转换都在你的浏览器里完成,数据不会上传。


如何使用 Base64 解码​

  1. 把 Base64 字符串粘贴到输入框,下方立即显示解码结果,例如 5L2g5aW9 会解成“你好”。
  2. 如果内容不是正确的 Base64(例如有不允许的字符、长度不对),输入框下方会显示错误原因。
  3. 如果解出来是图片、PDF、ZIP 等文件,会显示“二进制数据”和文件类型,图片可以直接预览,点击“下载文件”就能保存成文件。
  4. 解出文本后,点击“复制”复制结果,或点击“转到编码”重新编码对比。

怎么判断一段文本是不是 Base64​

Base64 只包含 A~Z、a~z、0~9、+、/(URL-safe 版本是 -、_),结尾可能有 1~2 个 =;去掉换行和空格后,长度通常是 4 的倍数。常见的开头可以看出内容类型:

开头内容通常是
iVBORw0KGgoPNG 图片
/9j/JPEG 图片
R0lGODGIF 图片
JVBERi0PDF 文档
UEsDBZIP 压缩包(也包括 docx、xlsx)
eyJJSON,例如 JWT 的 header

Base64 解码失败或出现乱码的原因​

  • 前面多了其他文字:例如 data:image/png;base64,、Basic 这类前缀。本工具会自动去掉 data URI 前缀,其他前缀要手动删掉。
  • 其实不是 Base64:例如十六进制字符串、已经加密过的内容,解出来会是看不懂的字节。
  • 内容本来就不是文本:图片、压缩包解码后本来就是二进制数据,要保存成文件才能打开,本工具会自动改成提供下载。
  • 字符编码不同:本工具用 UTF-8 解读文本;如果原本是用 GBK 编码的中文,解出来会是乱码。
  • 字符串被截断:从日志或网页复制时少了一段,长度就会不对。

怎么查看 JWT 的内容​

JWT(JSON Web Token)由 3 段以 . 分隔的 Base64URL 组成:header、payload、签名。把中间那一段 payload 粘贴进本工具,就能看到里面的 JSON,例如用户 ID、过期时间 exp(Unix 时间戳,可以用时间戳转换工具换成日期)。第三段签名是加密运算的结果,解码出来不是文本。另外,JWT 只是编码不是加密,任何人都能看到 payload,所以不要把机密数据放在 JWT 里。

各编程语言的 Base64 解码写法​

语言/工具Base64 转文本(UTF-8)
JavaScript (Node.js)Buffer.from(b64, 'base64').toString()
JavaScript (Web API)new TextDecoder().decode(Uint8Array.from(atob(b64), (c) => c.charCodeAt(0)))
Pythonbase64.b64decode(b64).decode()
Javanew String(Base64.getDecoder().decode(b64), StandardCharsets.UTF_8)
C#Encoding.UTF8.GetString(Convert.FromBase64String(b64))
PHPbase64_decode($b64)
Linux / macOSbase64 -d file.txt

解 URL-safe 格式时,Python 用 base64.urlsafe_b64decode()、Java 用 Base64.getUrlDecoder()、Node.js 用 Buffer.from(b64, 'base64url');缺少结尾 = 的字符串,有些语言要先补回 = 才能解码。

常见问题​

Base64 解码出现乱码怎么办?​

先确认内容是不是文本:图片、压缩包解码后本来就不是文本,要保存成文件才能打开。如果确定是文本,可能是原本用了 UTF-8 以外的编码(例如 GBK),或字符串前面多了前缀、复制时被截断。

怎么把 Base64 转回图片?​

把图片的 Base64 或 data URI 粘贴进本工具,会自动识别图片格式并显示预览,点击下载按钮就能保存成 PNG、JPEG 等图片文件。

Base64 可以解密吗?​

Base64 不是加密,所以不需要密码,任何 Base64 都能直接解码。但如果内容在编码前已经用 AES 等方式加密过,解码后得到的仍是加密后的数据,必须有密钥才能还原。

什么是 URL-safe Base64?可以直接解码吗?​

URL-safe Base64(Base64URL)把 + 换成 -、/ 换成 _,通常也省略结尾的 =,常见于网址和 JWT。本工具会自动识别并补回 =,可以直接粘贴解码。

我的数据会被上传吗?​

不会。解码完全在你的浏览器里进行,内容不会传到本网站或任何第三方服务器。

其他实用工具