Base64规则:标准规定与要点

33 0

Base64 是把任意二进制数据用 64 个可打印字符(A–Z、a–z、0–9、+、/)表示的编码方式,定义在 RFC 4648 中。下面重点说明标准规定与要点。

Base64规则

  • 输入是字节而不是字符,中文要先确定按 UTF-8 还是 GBK 转字节
  • 输出长度一定是 4 的倍数(带填充时)
  • 标准 MIME 格式每 76 个字符换行,RFC 4648 的基础格式不换行
  • base64url 用“-”“_”替换“+”“/”,适合放在 URL 和文件名中

示例

输入:Man

编码结果:TWFu

说明:按 UTF-8 共 3 字节,编码后 4 个字符。

JavaScript 示例

下面是 JavaScript 中处理Base64的常用写法:

// 浏览器:先转 UTF-8 字节
const bytes = new TextEncoder().encode("123问");
const b64 = btoa(String.fromCharCode(...bytes));   // "MTIz6Zeu"
const back = new TextDecoder().decode(Uint8Array.from(atob(b64), c => c.charCodeAt(0)));
// Node.js
Buffer.from("123问").toString("base64");

运行前确认输入的字符集(推荐 UTF-8),结果可以用本站工具交叉核对。

中文的处理

中文要先转成字节再编码。按 UTF-8,一个常用汉字占 3 字节,所以“中文”两个字是 6 字节,编码后是 8 个字符“5Lit5paH”。浏览器的 btoa 不能直接处理中文,需要先用 TextEncoder 转成 UTF-8 字节。

本站的Base64编码工具可以直接处理,计算在浏览器本地完成,适合快速核对结果。

常见问题

【图片转 Base64 有什么用?】可以把小图标直接写进 HTML 或 CSS,省去一次请求;但大图会让页面变大,不建议。

【Base64 能加密数据吗?】不能。Base64 只是改变数据的表示形式,没有密钥,任何人都能还原。

【Base64 后面的等号是什么?】是填充符。原始数据字节数除以 3 余 1 时补 2 个“=”,余 2 时补 1 个。

文中示例可以在本站对应工具中验证;处理密码、证件号等敏感数据时,请注意保护隐私。

署名:123问编辑部 · 最近修订:2026-11-11 · 已按编辑与审核说明检查;内容仅供参考,不构成医疗、法律或投资建议。发现错误可查看纠错方式。

标签: Base64 文本处理

抱歉,评论功能暂时关闭!