问题 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,
)。