解码Base64
粘贴Base64,还原它原本的内容——文本、图片、PDF,什么都行。补齐符错误、换行和URL安全变体都会被自动修复。不存储任何内容。
- 绝不存储
- 无需排队,无需等待
- 无需注册,无水印
粘贴Base64,解码后的内容会显示在这里。
使用方法
粘贴Base64
带换行、缺少补齐符、URL安全变体或位于PEM块中——都能接受,每项修复都会注明。
查看原始内容
文本以文本显示。二进制数据按其自身字节识别——PNG、PDF、ZIP——并以正确的扩展名提供下载。
复制或保存
复制文本,或下载还原出的文件。
解码后得到的是什么
Base64里装的是字节,页面只有在字节能按有效UTF-8解码、且没有任何字符被替换时,才把它们显示为文本。解码器运行在严格模式下,所以不是UTF-8的字节序列根本不会产生文本,而不是满屏的替换字符——这是有意为之,因为一堵问号菱形墙看起来像是结果,其实并不是。没有文本时,您会得到字节形式的下载文件,扩展名从开头几个字节本身读取:可识别PNG、JPEG、GIF、WebP、PDF、gzip、ZIP、RAR、7z以及三种网页字体格式,ZIP还会被打开到足以区分.docx、.xlsx、.pptx、.epub和普通压缩包的程度。无法识别且不是文本的内容会以.bin返回。
这些修复值得了解,因为其中有一项是猜测而非规则。删除换行、去掉PEM包装行、补上缺失的补齐符都是确定无疑的——字符串原本只可能是一种样子。空格则不然。它可能是无关的空白,也可能是某个“+”在传输途中被URL变成了空格。两种解读都会尝试,先试“+”,第一个能成功解码的就是显示给您的结果;当一个字符串两种方式都能解码时,没有任何办法判断原意是哪一种,所以请先看看结果再决定是否信任它。混用两套字母表的字符串——“+”或“/”与“-”或“_”同时出现——完全不会被修复,因为不存在正确的解读。
如果您需要的是别的
您自己的电脑本来就能做这件事。macOS和Linux上用base64 -d,Windows上用certutil -decode,任何系统上都可以用openssl base64 -d,或者一行Python代码——它们都读取文件而不是剪贴板,都不涉及网页。对于此刻仍然有效的凭据,这才是更好的习惯,无论任何网站作何承诺,包括本网站。本页面的说法是真实的,而验证它的方法是在页面加载后拔掉网线,看解码器是否照常工作——而不是相信这句话本身。如果您已经把一个有效的密钥粘贴到了无法审查的地方,请更换它。更换只需一分钟;而琢磨它到底安不安全,永远没有尽头。
另一个限制是大小。字符串以文本形式保存,结果又以字节形式保存一份,所以大图片的data URI会在标签页中占用数倍内存,几百MB的内容在这里会失败,而命令行解码器以流式处理,毫不费力。从数据库导出文件中解码一整列,或从样式表中取出每一个data URI,答案也一样,只是原因不同:那是脚本该做的事,而不是粘贴。
常见问题
我的Base64会被存储吗?
不会。不存储任何内容,不记录任何日志,也没有任何服务器能看到它——断开网络后照样能用。对这类工具来说,这可不是锦上添花。人们粘贴到在线编码器和解码器里的,常常是正在使用的敏感信息:会话令牌、API密钥、Authorization请求头、客户记录。把这些粘贴到一个会把它们发送出去的页面,就等于泄露,无论该网站对删除作何承诺。
提示Base64无效,可我明明复制对了
复制来的字符串通常会被四种情况破坏,这里会把这四种情况全部自动修复,而不是直接拒绝。来自邮件头、PEM块或MIME换行的换行符会被删除。缺失的=补齐符会被补上。URL安全字母表(用-和_代替+和/)会被识别并转换。空格则会按两种方式分别尝试——当作无关的空白,以及当作被URL变成空格的+号,Base64经过查询字符串传递时就会发生这种情况。每项修复都会在结果中注明,让您看清字符串原本是什么样子。如果仍然失败,说明复制时确实丢失了某个字符,页面会告诉您是哪一个。
能解码JWT吗?
它能逐段解码,但JWT解析页面更适合做这件事——它会拆分三个部分、格式化JSON、把时间戳转换成真实日期,并告诉您令牌是否已过期。无论在哪里,都不要把正在使用的会话令牌粘贴到通用解码器里;在本网站上它无论如何都不会被存储,但大多数网站并非如此。
如果是图片或PDF会怎样?
会被识别并提供下载。文件类型根据解码后的字节本身来识别,而不是根据您告诉我们的任何信息——PNG签名、PDF文件头、ZIP标记——所以即使原始文件名早已丢失,下载的文件也会带有正确的扩展名。图片会在页面中直接预览。
结果中的“按Base64URL读取”是什么意思?
表示您的字符串使用的是URL安全字母表,其中用-和_代替+和/。JWT、OAuth以及URL中传递的任何内容都使用这种变体。两套字母表解码出的字节不同,弄错时不会报错,而是悄无声息地得到损坏的数据——所以这里会检测并注明,而不是想当然。
别人发给我的内容,可以安全地解码吗?
解码本身是安全的——不会执行任何内容,也不会存储任何内容。但要小心解码出来的东西。Base64是躲过邮件过滤器、隐藏恶意脚本或可执行文件的常见手段,所以对来源不明的解码文件,请像对待不明附件一样对待它。
有大小限制吗?
取决于可用内存,而不是固定的大小上限。很长的字符串也能顺利解码。
小贴士: 解码得到的是字节,而字节不会说明自己是什么。文件类型根据数据开头的魔数来推断,对常见格式很可靠,对其他格式则无从判断。本来就无效的Base64会解码成乱码而不是报错,所以请确认结果看起来正确。
把这个工具放到您的网站上
博客、课程页面或帮助文章均可免费使用。粘贴一段代码,访客就能直接在您的页面上使用。