了解到这个只是是在廖老师base64的作业中了解到的。
题目如下:
base64的编码长度都是4的整数倍,不足的话它会补b‘=’。但这就让他看上去怪怪的,那么我们擅自把等号去掉,那么如何将没有b'='的编码也成功解码呢?请写这么一个函数。当然你需要使用原本的标准解码函数。
思路当然很简单,就是看这个编码是否为4的整数倍,如果不足的话,那么加上相应个数的b'='使之变为4的整数倍。
利用Python字符串乘法,可以让这个函数只有简单的一行就可以搞定。
import base64
def safe_base64_decode(s):
return base64.b64decode(s+b'='*((4-len(s)%4)%4))
不得不再次感叹Python的灵活!