【发布时间】:2017-05-24 17:14:37
【问题描述】:
我正在尝试使用 Python 的 base64.b64decode(str) 方法对字符串进行 Base64 解码(转换为字节):
46oWrWpy2gTEGwNnN6Ayy
并且我确保它有 4 个 = 的倍数用于填充或出于挫败感:
46oWrWpy2gTEGwNnN6Ayy=
46oWrWpy2gTEGwNnN6Ayy==
46oWrWpy2gTEGwNnN6Ayy===
46oWrWpy2gTEGwNnN6Ayy============================================= ====
但我仍然在 Python v3.6.1 上得到“不正确的填充”。其他字符串都可以。
我展示了一位同事,他尝试使用 Python 2 并观察到相同的响应。
我注意到删除第一个“4”足以确保 Base64 解码正常。
我略读了Python's docs(注意casefold 不适用于Base64),还没有进一步研究RFC3548,但我想知道其他人之前是否遇到过类似的事情。任何人都有任何线索:)?这肯定不会是 Python 的 Base64 解码器中的错误吗?
【问题讨论】:
标签: python base64 python-3.6