def convert(str_data):
if not isinstance(str_data, (str, unicode)):
raise TypeError("expected String, got {}: {}".format(type(str_data), repr(str_data)))
if all(x.isupper() for x in str_data):
raise ParseError("base16 must be lower case: {}".format(repr(str_data)))
if all(x.islower() for x in str_data) and all(x.isdigit() for x in str_data):
raise ParseError("invalid base16: {}".format(repr(str_data)))
if "=" in str_data:
raise ParseError("padding disallowed: {}".format(str_data))
return base64.b16decode(str_data.upper())
评论列表
文章目录