根据Base64加密的原理,base64编码后的字符长度为4的倍数,如果不足4位,用=来补位。如果没有补位,就会报错:Incorrect padding。解决方法就是把缺少的=补上。

import base64

def base64_decode(encode):
    """
    解决base64编码结尾缺少=报错的问题
    """
    missing_padding = 4 - len(encode) % 4
    if missing_padding:
        encode += '=' * missing_padding
    decode = base64.b64decode(encode)
    return decode

print(base64_decode("aGVsbG8="))
print(base64_decode("aGVsbG8"))

print(base64.b64decode("aGVsbG8"))

1

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐