zoukankan      html  css  js  c++  java
  • cookies保存购物车数据的编码问题(pickle和base64)

    在保存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类型

  • 相关阅读:
    浅析 MySQL Replication(转)
    mysql优化案例
    create index 与 alter table add index 区别
    /etc/sysctl.conf参数解释(转)
    Linux内核 TCP/IP参数调优
    OneProxy常用参数说明
    转载:如何在面试中写出好的代码
    F面经:painting house
    Lintcode: Merge Sorted Array II
    Lintcode: Median
  • 原文地址:https://www.cnblogs.com/chichung/p/10025637.html
Copyright © 2011-2022 走看看