解码 Base64 数据是编程中的常见任务,但不正确的填充可能会阻碍该过程。虽然 base64.decodestring 在遇到这些填充错误时会引发错误,但可以使用替代方法。
一种解决方案是手动添加最大数量的填充字符,即两个。 Python 3.x的base64.b64decode会自动截断任何不必要的字符。
这种方法简单有效:
base64.b64decode(s b'==')
或者,使用base64.b64decode(s b'=' * (-len(s) % 4))根据输入的长度计算所需的填充字符数。
如果输入字符串已经有填充,请确保将 validate 关键字参数设置为 False(默认)以避免错误。
如果 validate 设置为 False,则可以盲目添加两个填充字符而不会出现问题。但是,如果 validate 为 True,则输入中的任何非字母字符都会导致错误。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3