Skip to content
简体中文

切换主题

// 工具 · 编码与转换

Base64 编码 / 解码

文本、文件和 Base64 互转。中文和 emoji 按 UTF-8 处理,URL-safe 和缺“=”的串也能解;解出二进制时给十六进制预览、下载和图片预览。

在你的设备上运行,不上传RFC 4648UTF-8URL-safe · data URI

提示:把文件拖到这个框里即可编码。

在上面输入或粘贴,结果实时更新。

01使用说明

  1. 选方向:“编码”把文本或文件变成 Base64;“解码”把 Base64 还原。
  2. 在左边输入或粘贴,右边立刻出结果。Base64 里的空格、换行会被忽略,URL-safe 串和缺“=”的串都能解。
  3. 文件:拖到左边框里或点“选择文件”。勾选“文件输出为 data:URI”可以直接用在 HTML 或 CSS 里。
  4. “⇄ 交换”把结果放回输入框并切换方向,方便来回核对。

相关工具:URL 编码 / 解码 · 工具总览 →

常见问题

我输入的内容会上传吗?

不会。编码和解码都在本页的 JavaScript 里完成;页面不会发出带有你输入内容的请求,也不会写进地址栏、Cookie、本地存储或访问统计。拖进来的文件用浏览器的 File API 在本地读取。可以在开发者工具的“网络”面板里自己核对。

为什么别的工具解出来的中文是乱码?

Base64 编码的是字节,不是字符。中文和 emoji 要先按某种编码转成字节,几乎都是 UTF-8。浏览器自带的 btoa / atob 只支持 Latin-1,这是乱码或“InvalidCharacterError”报错的常见原因。本工具两个方向都用 UTF-8;解出来的字节不是合法 UTF-8 时(比如 GBK 文本或图片),会明确提示并显示字节内容,而不是输出乱码。

URL-safe Base64 是什么?

RFC 4648 第 5 节定义的变体,用“-”和“_”代替“+”和“/”,结果可以直接放进网址和文件名。JWT 用的就是它,通常还去掉了“=”补位。解码时本工具自动识别两种字母表(同一串里不能混用);编码时勾选“URL-safe”,需要的话再勾“不补 =”。

末尾缺了“=”还能解码吗?

能。“=”只是把最后一组补到 4 个字符,可以按长度推算出来,工具会自动补齐并提示。只有一种长度不可能合法:最后一组只剩 1 个字符(长度除以 4 余 1),任何字节都编不出这种结果,通常是复制时丢了字符。

能转换图片和文件吗?

能。把文件拖到页面上(或点选择文件)就得到它的 Base64,也可以勾选输出 data:URI,直接用在 HTML / CSS 里。粘贴 data:image/…;base64,… 或 PNG、JPEG、GIF、WebP 的原始 Base64,会直接显示图片;其他二进制数据显示十六进制预览并可下载。文件上限 10 MB。

Base64 是加密吗?

不是。Base64 只是换一种写法,让字节能在只支持文本的地方传输,任何人都能解开。不要用它来“隐藏”密码或密钥。