Discuss / Python / 交作业——base64

交作业——base64

Topic source

安迪博德

#1 Created at ... [Delete] [Delete and Lock User]
# -*- coding: utf-8 -*-
#请写一个能处理去掉=的base64解码函数

import base64

def safe_base64_decode(s):
    return base64.b64decode(completing(s))

def completing(s):
    '''
    Function to completing a binary string with '='

    Example:

    >>> print(completing(b'a'))
    b'a==='
    >>> print(completing(b'ab'))
    b'ab=='
    >>> print(completing(b'abc'))
    b'abc='
    >>> print(completing(b'abcd'))
    b'abcd'
    '''
    slen = len(s)
    if slen == 0:
        return s
    num = slen % 4
    return s + b'=' * (4 - num) if num > 0 else s

if __name__ == '__main__':
    import doctest
    doctest.testmod()

# 测试:
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('Pass')

我是初学者,你写的真棒!


  • 1

Reply