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

错误代码: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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序员同行者

python3模块: json & pickle

12520
来自专栏林德熙的博客

C# const 和 readonly 有什么区别

在写常量的时候,是选择使用 const 还是 static readonly 是一个让人难以决定的问题,本文告诉大家这两个方法的区别。

11620
来自专栏java一日一条

自己动手实现一个 Java Class 解析器

最近在写一个私人项目,名字叫做ClassAnalyzer,ClassAnalyzer的目的是能让我们对Java Class文件的设计与结构能够有一个深入的理解。...

13740
来自专栏java学习

Java基础总结大全(1)

一、基础知识: 1、JVM、JRE和JDK的区别: JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性。 ...

436110
来自专栏Deep learning进阶路

C++随记(八)---存储持续性、作用域和链接性

版权声明:本篇文章是阅读《C++primer plus (第6版)中文版》第9章之后所作的笔记。部分文字和图表摘自于这本书。 C++随记(八)---存储持续性、...

19700
来自专栏阿凯的Excel

Python读书笔记17(while与列表、字典)

今天分享利用while函数处理列表和字典,顺便温习一下历史知识 一、论如何将一个列表折腾至另外一个列表!(两个列表是独立的) 论折腾列表有几种方法! 先分...

36950
来自专栏决胜机器学习

《Redis设计与实现》读书笔记(八) ——Redis列表对象和哈希对象实现原理

《Redis设计与实现》读书笔记(八) ——Redis列表对象和哈希对象实现原理 (原创内容,转载请注明来源,谢谢) 一、列表对象 列表对象的编码可以是zipl...

41570
来自专栏liuchengxu

Shell 中的中括号用法总结

需要注意的是 [ 与 ] 与操作数之间一定要有一个空格,否则会报错。比如下面这样就会报错:

10430
来自专栏Hongten

J2SE 断言 [Assert]

/**  * 断言 [Assert]  *  从jdk1.4版本开始,java语言中引入了断言 [Assert]  *  机制,允许java开发者在代码中加入一...

9810
来自专栏知识分享

关于函数指针--简介

函数指针说白了,,,,函数的地址 现在看一个简单的--先定义一个函数指针 void (*f1)();就是这样定义--指向的是一个void类型的 假设定义了另一个...

30180

扫码关注云+社区

领取腾讯云代金券