上传文件
  1. base64hub
  2. 文本工具
  3. Base64 转 ASCII

Base64 转 ASCII:解码为纯 ASCII 文本

粘贴 Base64,严格按 ASCII 读取。0–127 的字节照常解码,大于 127 的都显示为 �,可以快速确认载荷是否为纯 ASCII。

免费 无需注册,不限次数 本地 不上传任何内容 更新于 2026年10月27日
输入 0 B输出 0 B大小 –

在你的浏览器中处理。此页面无法将你的数据发送到任何地方: 我们如何确认

如何将 Base64 解码为 ASCII

  1. 把 Base64 粘贴到 输入 · Base64。字符集 已预设为 ASCII。
  2. 在 输出 · 文本 中阅读结果。每个大于 127 的字节都显示为 �。
  3. 如果看到 �,说明内容不是纯 ASCII。把 字符集 切换为 UTF-8 或 Windows-1252 即可阅读。
  4. 点击 复制输出,或 下载 解码后的字节。

反方向把纯文本编码为 Base64,请使用 ASCII 转 Base64。

严格的 ASCII 解码

很多工具会把大于 127 的字节按某种 8 位字符集读取,于是非 ASCII 字节变成了一个看似合理的字母,没人会察觉。在本页,ASCII 到 127 为止,128 到 255 的每个字节都显示为替换字符。� 的个数就是非 ASCII 字节的个数。

因此,在把解码后的数据交给只接受 ASCII 的系统之前,可以用本页快速检查一下。UTF-8 中带重音的字母占两个字节,显示为 ��;弯引号占三个字节,显示为 ���。

示例

Base64字节(hex)按 ASCII 解码
QVNDSUk=41 53 43 49 49ASCII
MjAwIE9L32 30 30 20 4F 4B200 OK
YQli61 09 62a、制表符、b
Y2Fmw6k=63 61 66 C3 A9caf��(UTF-8 的 café)
4oCcaGnigJ0=E2 80 9C 68 69 E2 80 9D���hi���(UTF-8 的 “hi”)

最后两行在 字符集 设为 UTF-8 时能正确解码。状态行中的 看起来像 字段照样会给出格式,所以即使在 ASCII 模式下也能识别出 PNG 或 PDF;切换回 UTF-8 后,工具会给出对应文件解码器的链接。

一眼看出 Base64 中的 ASCII

ASCII 文本的 Base64 有可辨认的特征。由于每个字节都小于 80,每组 4 个字符中的第一个字符一定在 A–f 范围内,绝不会是 g–z、数字、+ 或 /。不过字符位置并不是一一对应的:3 个 ASCII 字符总是变成 4 个 Base64 字符,不是从 4 字符边界开始的子串无法单独解码。

如果你需要的是每个字符的编码,字节值只差一步:QVNDSUk= 的十进制是 65 83 67 73 73。Base64 转十进制 和 Base64 转 Hex 会列出这些值,Base64 转二进制 则显示每一位。

在代码中将 Base64 转为 ASCII

import base64

base64.b64decode("QVNDSUk=").decode("ascii")    # 'ASCII'
base64.b64decode("Y2Fmw6k=").decode("ascii")
# UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 3
list(base64.b64decode("QVNDSUk="))              # [65, 83, 67, 73, 73]

JavaScript 在这里有个坑:按照 WHATWG Encoding Standard,new TextDecoder("ascii") 是 Windows-1252 的别名,所以它会把 Y2Fm6Q== 解码成 café,永远不会报告非 ASCII 字节。请自己检查字节,例如用 bytes.every(b => b < 128)。更多内容见 JavaScript 中的 Base64 和 Python 中的 Base64。

常见问题

怎么把 Base64 转换成 ASCII 文本?

把 Base64 粘贴到上方。解码出的每个 0 到 127 的字节都会显示为对应的 ASCII 字符。在 Python 中,base64.b64decode(s).decode("ascii") 效果相同,遇到大于 127 的字节会抛出错误。

为什么输出里出现 � 符号?

这些字节不是 ASCII。通常是文本为 UTF-8,含有带重音的字母、弯引号或 emoji;把字符集切换为 UTF-8 即可正常阅读。如果输出大部分都是 �,数据很可能是一个文件。

怎么得到数字形式的 ASCII 码?

用 Base64 转十进制 得到 65 83 67 73 73 这样的字节值,或用 Base64 转 Hex 得到 41 53 43 49 49。

ASCII 文本里会有看不见的字符吗?

会。制表符、回车、换行以及其他 0–31 的控制字符都属于 ASCII。它们会正常解码,所以单词之间的制表符会保留为制表符。