python3关于str和bytes需要注意的库

无论是python2还是python3,字符串编码都是一个让人头疼的事情,python3尽管逻辑更清楚了,但是很多库的输入输出类型各异,也是很费记忆力。

最容易出现的就是这种不报错的bug:

>>> 'prefix:%s' % hexlify(b'blabla')
>>> "prefix:b'626c61626c61'"

罗列一些常见库的输入输出字符串类型:

binascii.hexlify() 输入bytes,输出bytes

md5(b'xxx').hexdigest() 输入bytes,输出str

base64.b64encode() 输入bytes,输出bytes

base64.b64decode() 输入bytes/str,输出bytes

json.dumps() 输入str,输出为str

ujson.dumps() 输入bytes/str,输出为str

msgpack.dumps() 输入bytes/str,输出为bytes

msgpack.loads() 输入为bytes,输出为bytes/str,由raw来控制

urllib.parse.urlencode() 输入bytes/str,输出为str

urllib.parse.parse_qs() 输入为str,输出为str

发表于 2019年10月12日 15:54   评论:0   阅读:2214  



回到顶部

首页 | 关于我 | 关于本站 | 站内留言 | rss
python logo   django logo   tornado logo