序列化与反序列化

序列化:是把对象转换为字节序列,永久存到磁盘中。在网络中传输对象也要进行序列化。

反序列化:是从磁盘中读取字节序列将它们反序列化成对象读出来。

什么是字节序列

每一个字符都有一个对应的标识,即码位,是0-1 114 111的数字(十进制),在Unicode标准中以4-6个十六进制数字表示。例如字母A的码位表示为U+0041。有了字符,计算机会把字符的码位通过某种算法转换为字节序列(二进制数据),就是我们通常所说的编码。相反,如果把字节序列通过某种算法转换为字符码位,就是常说的解码。字符串和字节序列关系总结如图1所示。

图1

简单解释:序列化:将对象中的变量中的内容转换成字符串,并将变量与其内容对应起来;将整理好的字符串保存到文本中(进行编码操作)变为二进制的字节序列。

反序列化:将文本中二进制的字节序列通过解码操作得到字符串,然后提取相应变量对应的字符串的标识以及其内容,找到对象中对应变量并赋值内容,这样的过程为反序列化。

序列化的目的就是将对象(保存重要数据的)有规则的保存,反序列化根据这种规则在把内容重新给另外一个对象。

JSON反序列化为Python对象,

//json对象----->class对象 反序列化 from_json()

//class对象----->json对象 序列化 to_json()

参考文章:

捋一捋字符串和字节序列的关系

简单理解序列化和反序列化

什么是字节序?

序列化/反序列化,我忍你很久了

Python教程:json序列化的方法

posted @ 2022-10-10 21:40  北极星!  阅读(51)  评论(0编辑  收藏  举报