Cookie数据的编码及解码

import pickle,base64

# Cookie数据的编码
def carts_cookie_encode(cart_dict):
    """
    把购物车字典数据,经过pickle和base64编码成可视化字符
    :param cart_dict: 购物车字典
    :return: 可视化字符串
    """

    # 1、使用pickle把字段编码成字节
    # 2、base64编码把字节编程成可视化字符
    return base64.b64encode(
        pickle.dumps(cart_dict)
    ).decode()


# Cookie数据解码
def carts_cookie_decode(cart_str):
    """
    把Cookie中的购物车数据(可视化字符串),经过base64解码和pickle解码成字典
    :param cart_str: cookie中的字符串表示的购物车数据
    :return: 购物车字典
    """

    # 1、base解码
    # 2、pickle解码
    return pickle.loads(
        base64.b64decode(cart_str.encode())
    )

if __name__ == '__main__':
    # 编写针对当前模块的测试代码
   d = {'1': {'count': 10, 'selected': True}, '2': {'count': 20, 'selected': False}}

    # 编码
    cart_str = carts_cookie_encode(d)
    print("编码之后的可视化字符串:", cart_str)

    # 解码
    cart_dict = carts_cookie_decode(cart_str)
    print("解码之后的字典数据:", cart_dict, type(cart_dict))

  

原文地址:https://www.cnblogs.com/wwr3569/p/13436045.html