交作业拉(感谢评论区给的提示)
Topic source```
import base64# 写一个能处理去掉=的base64解码函数:def safe_base64_decode(s): # 去掉=后怎么解码呢? 因为Base64是把3个字节变为4个字节,所以,Base64编码的长度永远是4的倍数 while len(s) % 4: # 非零为真(即该字符串长度不是4的倍数时,执行) s += b'=' # 因此,需要加上=把Base64字符串的长度变为4的倍数,就可以正常解码了。 return base64.b64decode(s)# 测试:assert b'abcd' == safe_base64_decode(b'YWJjZA=='), safe_base64_decode('YWJjZA==')assert b'abcd' == safe_base64_decode(b'YWJjZA'), safe_base64_decode('YWJjZA')print('ok')
```
- 1
Silvers丶Rayleigh
import base64# 写一个能处理去掉=的base64解码函数:def safe_base64_decode(s): # 去掉=后怎么解码呢? 因为Base64是把3个字节变为4个字节,所以,Base64编码的长度永远是4的倍数 while len(s) % 4: # 非零为真(即该字符串长度不是4的倍数时,执行) s += b'=' # 因此,需要加上=把Base64字符串的长度变为4的倍数,就可以正常解码了。 return base64.b64decode(s)