Base64 Files
UTF-8 · Unicode · 实时编码

文本转 Base64 编码器

将纯文本、Unicode、JSON、HTML 或代码片段编码为 Base64。输出实时更新——一键获取 Base64、Base64URL、Data URI 或 JSON。

文本转 Base64UTF-8

在上方输入或粘贴文本 — Base64 结果即时显示

有 Base64 需要解码还原为文本?

将 Base64 字符串解码为可读文本,支持 UTF-8、Unicode 和 Emoji。

Base64 转文本

如何将文本编码为 Base64

1

输入或粘贴文本

输入任意文本——普通英文、Unicode 字符、JSON、HTML、代码片段或 Emoji。支持所有语言。

2

即时获取输出

输入时即实时生成 Base64 输出。在 Base64、Base64URL、Data URI 和 JSON 选项卡之间切换,获取所需格式。

3

复制并使用

点击「复制」将编码字符串发送到剪贴板,粘贴到您的 API、配置文件、HTTP 请求头或代码中。

文本 Base64 示例

常见输入及其对应的 Base64 输出。

输入Base64
HelloSGVsbG8=
Hello, Base64 Files!SGVsbG8sIEJhc2U2NCBGaWxlcyE=
你好5L2g5aW9
{"key":"value"}eyJrZXkiOiJ2YWx1ZSJ9
<h1>Hello</h1>PGgxPkhlbGxvPC9oMT4=
😀8J+YgA==

在 JavaScript 中将文本编码为 Base64

对于 ASCII 文本使用btoa(),如需完整的 Unicode 支持则使用TextEncoder方式。

JavaScript — 将文本编码为 Base64

// ASCII only
btoa('Hello')
// → "SGVsbG8="

// UTF-8 (recommended — handles all Unicode)
function encodeBase64(text) {
  const bytes = new TextEncoder().encode(text)
  let binary = ''
  bytes.forEach(b => binary += String.fromCharCode(b))
  return btoa(binary)
}

encodeBase64('Hello 你好 🌐')
// → "SGVsbG8g5L2g5aW9IPCfjpA="

// Base64URL (safe in URLs and JWT)
function toBase64Url(b64) {
  return b64
    .replace(/\+/g, '-')
    .replace(/\//g, '_')
    .replace(/=/g, '')
}

UTF-8 与 Unicode 支持

标准btoa()仅接受 ASCII 字符。对于多字节文本——中文、日文、阿拉伯文、带变音符的字符或 Emoji——必须先编码为 UTF-8 字节。

本工具使用TextEncoder在 Base64 编码前将文本转换为 UTF-8 字节。这意味着:

  • 支持全部 110 万个 Unicode 码点
  • Emoji、CJK 字符、从右到左文字均可正确编码
  • 解码器也需使用 UTF-8 才能还原原始文本
  • Base64 输出长度取决于 UTF-8 字节数,而非字符数

Base64 与 Base64URL

标准 Base64

  • 使用 +/
  • 使用 = 填充
  • 邮件、文件存储、数据嵌入

Base64URL

  • 使用 -_
  • 无填充
  • JWT token、URL、文件名

需要专用的 Base64URL 编码/解码器?

Base64URL Encoder

常见问题

如何在 JavaScript 中将文本编码为 Base64?

对于纯 ASCII 文本,使用 btoa('Hello') → 'SGVsbG8='。对于 UTF-8 文本(Unicode、Emoji、CJK 字符),需要先通过 TextEncoder 编码:const b = new TextEncoder().encode(text);然后将字节转换为二进制字符串后调用 btoa()。本工具会自动处理这一过程。

Base64 和 Base64URL 有什么区别?

标准 Base64 使用 + 和 / 字符,并带有 = 填充。这些字符在 URL 和文件名中会引发问题。Base64URL 用 - 替换 +,用 _ 替换 /,并去掉 = 填充——使其可以安全用于 URL、查询字符串、JWT token 和文件名。编码数据本身完全相同。

Base64 编码支持所有语言和 Emoji 吗?

支持,使用 UTF-8 编码(默认)时。UTF-8 可以表示所有 Unicode 码点,包括世界各地所有语言、Emoji 和符号。工具会先将文本编码为 UTF-8 字节,再对这些字节进行 Base64 编码。

为什么 Base64 输出以 = 或 == 结尾?

Base64 以 3 个字节为一组处理输入,生成 4 个字符。如果输入长度不能被 3 整除,会在末尾追加一个或两个 = 字符作为填充,使输出长度成为 4 的倍数。Base64URL 会去掉此填充。

可以将 JSON 或 HTML 编码为 Base64 吗?

可以。将任意 JSON 对象、HTML 片段、CSS 规则或代码片段粘贴到输入框中。工具会将整个字符串以 UTF-8 Base64 进行编码。这在将结构化数据嵌入 HTTP 请求头、配置文件和 API 字段时非常常见。

文本在哪里处理?

完全在您的浏览器中处理。您的文本不会离开设备。编码使用浏览器内置的 TextEncoder 和 btoa() API——无需服务器,无需网络请求。