您的位置:首页 > 编程语言 > Python开发

请写一个能处理去掉=的base64解码函数——python学习笔记

2019-01-04 19:14 561 查看

1. 题目:

请写一个能处理去掉=的base64解码函数:
题目是廖雪峰老师的python教程中base64的练习。

2. 代码如下:

import base64

def safe_base64_decode(s):

# 判断是否是4的整数u,不够的在末尾添加等号
if len(s) % 4 != 0:
s = s + bytes('=', encoding='utf-8') * (4 - len(s) % 4)

# 解决字符串和bytes类型
if not isinstance(s, bytes):
s = bytes(s, encoding='utf-8')

# 解码
base64_str = base64.b64decode(s)

return base64_str

# 测试:
assert b'abcd' == safe_base64_decode(b'YWJjZA=='), safe_base64_decode('YWJjZA==')
assert b'abcd' == safe_base64_decode(b'YWJjZA'), safe_base64_decode('YWJjZA')

希望能够帮助到大家,有什么问题可以 直接评论即可,如果不够详细的话也可以说,我会及时回复的。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: