第九章

常见错误与解决方案

开发中 90% 的 Base64 问题都在这里

问题 1:Invalid Padding(填充错误)

这是最常见的错误。Base64 字符串的长度必须是 4 的倍数。如果字符串被截断或修改,解码器就会抛出此异常。

修复: 检查字符串是否完整。如果确实缺失填充,可以手动补 = 直到长度是 4 的倍数。

问题 2:URL 参数中包含 + 或 /

在 URL 参数中,+ 会被浏览器视为空格。这会导致 Base64 字符串损坏。

❌ 错误做法: https://api.com?token=abc+def/ghi== ✅ 正确做法:

使用 URL-Safe Base64(将 + 换成 -/ 换成 _),或者对 Base64 字符串进行 URL Encoding

问题 3:字符串包含换行符

某些库(如 Java 的 MIME 编码器)会每隔 76 个字符插入 \r\n。如果接收方不处理这些换行符,解码就会失败。

修复: 解码前先移除所有空白字符(\n, \r, \t, )。