在保存cookies时,如果存在着中文字符,cookies保存会报错。所以需要对数据进行编码。

通常cookies的保存都是以Base64来保存。所以先要对数据编码成bytes,再编码成base64字符串。

一、pickle模块: 将数据转换为bytes

pickle模块是python的标准模块,提供了对于python数据的序列化操作,可以将数据转换为bytes类型,其序列化速度比json模块要高

  • pickle.dumps() 将python数据序列化为bytes类型

  • pickle.loads() 将bytes类型数据反序列化为python的数据类型

二、base64模块: 将bytes类型数据转成base64编码的bytes类型

Base64是一种基于64个可打印字符来表示二进制数据的表示方法。由于2^6=64,所以每6个比特为一个单元,对应某个可打印字符。3个字节有24个比特,对应于4个Base64单元,即3个字节可由4个可打印字符来表示。在Base64中的可打印字符包括字母A-Z、a-z、数字0-9,这样共有62个字符,此外两个可打印符号在不同的系统中而不同。

格式:gAN9cQAoWAEAAAAxcQF9cQIoWAUAAABjb3VudHEDSwpYCAAAAHNlbGVjdGVkcQSIdVgBAAAAMnEFfXEGKGgDSxRoBIl1dS4=

python标准库中提供了base64模块,用来进行转换

  • base64.b64encode() 将bytes类型数据进行base64编码,返回编码后的bytes类型

  • base64.b64deocde() 将base64编码的bytes类型进行解码,返回解码后的bytes类型

最新文章

  1. 使用python自动生成docker nginx反向代理配置
  2. Lintcode 175. 翻转二叉树
  3. Restore Volume 操作 - 每天5分钟玩转 OpenStack(60)
  4. 用PowerMock mock static方法
  5. ue4 plugin的编译加载
  6. spring-自动加载配置文件\使用属性文件注入
  7. 【Bochs 官方手册翻译】 第一章 Bochs介绍
  8. 使用NSTimer过程中最大的两个坑
  9. C语言——内存分配
  10. nginx上传模块—nginx upload module-
  11. 利用StringBuffer向字符串特定的重复子字符串插入数据
  12. Git 远程分支的pull与push
  13. SSH复用代码最终版
  14. 开发高性能JAVA应用程序基础(集合篇)
  15. 理解mysql执行多表联合查询
  16. nodejs笔记之流(stream)
  17. 微信小程序中的循环遍历问题
  18. Jenkins - 构建Allure Report
  19. Swagger2常用注解及其说明 (转)
  20. python之正则表达式及RE模块

热门文章

  1. BZOJ4567:[SCOI2016]背单词——题解
  2. BZOJ3456:城市规划——题解
  3. [Leetcode] restore ip address 存储IP地址
  4. POI 2018.10.21
  5. 【数位DP】【SCOI2009】windy数
  6. k好数 数位dp
  7. HDU2841 (队列容斥)
  8. [技巧篇]01.Servlet的优化模版代码
  9. js处理时间的那些事
  10. vijos 1071 01背包+输出路径