★ 什么是数据的序列化

数据的序列化指的是将数据从其原始格式转换为一种可存储或传输的格式,通常是字节流或字符串的形式。这样做的目的是为了能够在不同系统、编程语言或设备之间进行数据交换、存储或传输,同时保持数据的结构完整性。

★ 序列化的应用场景:

  • 数据传输

    序列化可用于在网络中传输数据,比如Web应用中的前后端数据交互,API请求和响应的数据传输等。
    
  • 数据持久化

    序列化使得数据可以被保存在文件系统或数据库中,例如存储配置文件、持久化对象等。
    
  • 跨平台数据交换

    序列化使得不同平台、不同编程语言之间能够共享和解释数据,促进系统间的数据交换和互操作。
    

★ Python常见序列化工具

  • pickle

    • pickle 基本介绍

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

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

    • base64 基本介绍

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

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

    • json 基本介绍

      用于JSON格式的序列化和反序列化。JSON序列化支持Python中的基本数据类型(如字典、列表、字符串、数字等)与JSON字符串之间的转换。
      
    • 使用方式

      json.dumps() 将python数据序列化为json字符串
      json.loads() 将json字符串反序列化为python的数据类型