← 返回博客

Base64编码是什么?原理、用途与在线工具

2026年2月 · 阅读时间 4分钟

Base64是开发中最常见的编码方式之一。你可能在JWT Token、邮件附件、Data URL中都见过它,但你真的了解它的原理吗?

什么是Base64?

Base64是一种将二进制数据转换为ASCII文本的编码方式。它使用64个可打印字符(A-Z、a-z、0-9、+、/)来表示任意二进制数据。

原文:Hello World

Base64:SGVsbG8gV29ybGQ=

编码原理

Base64的编码过程:

  1. 将原始数据转换为二进制比特流
  2. 每6个比特为一组(因为2⁶ = 64)
  3. 每组映射到Base64字符表中的一个字符
  4. 如果最后不足6位,用0补齐,输出用 = 填充

示例:编码 "Hi"

H = 01001000, i = 01101001

拼接:010010 000110 100100(补2个0)

查表:S(18) G(6) k(36) =(填充)

结果:SGk=

为什么需要Base64?

很多传输协议(如HTTP、SMTP、JSON)只支持文本数据。Base64让我们可以:

常见使用场景

注意事项

⚠️ Base64不是加密!它只是编码,任何人都能解码

⚠️ 编码后体积增大约33%(3字节变4字符)

⚠️ 大文件不适合Base64(会显著增大体积和内存占用)

⚠️ URL安全的Base64用 - 和 _ 替代 + 和 /

各语言实现

// JavaScript

btoa('Hello') // 编码 → "SGVsbG8="

atob('SGVsbG8=') // 解码 → "Hello"

# Python

import base64

base64.b64encode(b'Hello') # b'SGVsbG8='

// Java

Base64.getEncoder().encodeToString("Hello".getBytes())

在线工具

需要快速编解码?我们提供两个免费工具:

更多开发者工具请访问 www.cyunyun.com