美文网首页程序员
python3 解码base64遇到的问题与解决

python3 解码base64遇到的问题与解决

作者: 宁静消失何如 | 来源:发表于2017-10-20 21:20 被阅读621次
    错误代码:binascii.Error: Incorrect padding
    
    

    解决方法
    在解码前使用这个方法

    if len(message) % 4:
        # not a multiple of 4, add padding:
        message += '=' * (4 - len(message) % 4)
    

    message替换成你要转码的变量名 即可

    因为:
    Base64编码说明
      Base64编码要求把3个8位字节(38=24)转化为4个6位的字节(46=24),之后在6位的前面补两个0,形成8位一个字节的形式。 如果剩下的字符不足3个字节,则用0填充,输出字符使用'=',因此编码后输出的文本末尾可能会出现1或2个'='。

    为了保证所输出的编码位可读字符,Base64制定了一个编码表,以便进行统一转换。编码表的大小为2^6=64,这也是Base64名称的由来。

    相关链接
    在线解码工具
    stackoverflow

    相关文章

      网友评论

        本文标题:python3 解码base64遇到的问题与解决

        本文链接:https://www.haomeiwen.com/subject/gbcbuxtx.html