【python】字节转换 base64 encode decode pickle
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了【python】字节转换 base64 encode decode pickle,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2277字,纯文字阅读大概需要4分钟。
内容图文
![【python】字节转换 base64 encode decode pickle](/upload/InfoBanner/zyjiaocheng/640/c43842ba401e4051b43c42b171a51650.jpg)
pickle模块的使用
pickle模块是python的标准模块,提供了对于python数据的序列化操作,可以将数据转换为bytes类型,其序列化速度比json模块要高。
- pickle.dumps() 将python数据序列化为bytes类型
- pickle.loads() 将bytes类型数据反序列化为python的数据类型
>>> import pickle >>> d = {'1': {'count': 10, 'selected': True}, '2': {'count': 20, 'selected': False}} >>> s = pickle.dumps(d) >>> s b'\x80\x03}q\x00(X\x01\x00\x00\x001q\x01}q\x02(X\x05\x00\x00\x00countq\x03K\nX\x08\x00\x00\x00selectedq\x04\x88uX\x01\x00\x00\x002q\x05}q\x06(h\x03K\x14h\x04\x89uu.' >>> pickle.loads(s) {'1': {'count': 10, 'selected': True}, '2': {'count': 20, 'selected': False}}
base64模块的使用
Base64是一种基于64个可打印字符来表示二进制数据的表示方法。由于2^6=64,所以每6个比特为一个单元,对应某个可打印字符。3个字节有24个比特,对应于4个Base64单元,即3个字节可由4个可打印字符来表示。在Base64中的可打印字符包括字母
A-Z
、a-z
、数字0-9
,这样共有62个字符,此外两个可打印符号在不同的系统中而不同。Base64常用于在通常处理文本数据的场合,表示、传输、存储一些二进制数据,包括MIME的电子邮件及XML的一些复杂数据。
python标准库中提供了base64模块,用来进行转换
- base64.b64encode() 将bytes类型数据进行base64编码,返回编码后的bytes类型
- base64.b64deocde() 将base64编码的bytes类型进行解码,返回解码后的bytes类型
>>> import base64 >>> s b'\x80\x03}q\x00(X\x01\x00\x00\x001q\x01}q\x02(X\x05\x00\x00\x00countq\x03K\nX\x08\x00\x00\x00selectedq\x04\x88uX\x01\x00\x00\x002q\x05}q\x06(h\x03K\x14h\x04\x89uu.' >>> b = base64.b64encode(s) >>> b b'gAN9cQAoWAEAAAAxcQF9cQIoWAUAAABjb3VudHEDSwpYCAAAAHNlbGVjdGVkcQSIdVgBAAAAMnEFfXEGKGgDSxRoBIl1dS4=' >>> base64.b64decode(b) b'\x80\x03}q\x00(X\x01\x00\x00\x001q\x01}q\x02(X\x05\x00\x00\x00countq\x03K\nX\x08\x00\x00\x00selectedq\x04\x88uX\x01\x00\x00\x002q\x05}q\x06(h\x03K\x14h\x04\x89uu.'
# cart_str ---> 本地cookie获取的值 cart_str = request.COOKIES.get("cart") print("0") print(cart_str) print("1") print(cart_str.encode()) print("2") print(base64.b64decode(cart_str.encode())) cart_dict = pickle.loads(base64.b64decode(cart_str.encode())) print("3") print(cart_dict) 输出: 0 gAN9cQBLCH1xAShYBQAAAGNvdW50cQJLAlgIAAAAc2VsZWN0ZWRxA4h1cy4= 1 b'gAN9cQBLCH1xAShYBQAAAGNvdW50cQJLAlgIAAAAc2VsZWN0ZWRxA4h1cy4=' 2 b'\x80\x03}q\x00K\x08}q\x01(X\x05\x00\x00\x00countq\x02K\x02X\x08\x00\x00\x00selectedq\x03\x88us.' 3 {8: {'count': 2, 'selected': True}}
内容总结
以上是互联网集市为您收集整理的【python】字节转换 base64 encode decode pickle全部内容,希望文章能够帮你解决【python】字节转换 base64 encode decode pickle所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。