← 返回首页

使用指南

Base64 与 UTF-8:中文为什么会乱码?

理解字符、字节与 Base64 的区别,正确转换中文和 Emoji。

JTools 维护者 · 更新于 2026-10-10

Base64 将字节编码成可打印字符,本身不是加密。任何人都可以解码,因此不要用它保护密码或密钥。

中文和 Emoji 需要先按 UTF-8 转成字节,再进行 Base64 编码;解码时按相反的顺序处理。直接把多字节字符交给只接受单字节字符的函数,可能报错或出现乱码。

例如 UTF-8 文本“你好”编码为“5L2g5aW9”。如果字节不是有效的 UTF-8,本工具会明确报错,不用替换字符悄悄改变数据。

标准 Base64 使用 + 和 /,URL-safe 变体使用 - 和 _。本工具提供明确的模式选择,URL-safe 编码省略尾部填充,解码支持省略填充。

打开工具