Discuss / Python / 交作业拉(感谢评论区给的提示)

交作业拉(感谢评论区给的提示)

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)

```

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

Reply