首页 > 其他分享 >序列化与反序列化

序列化与反序列化

时间:2022-10-10 21:44:50浏览次数:61  
标签:字节 对象 字符串 json 序列 序列化

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

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

什么是字节序列

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

图1

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

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

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

JSON反序列化为Python对象,

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

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

参考文章:

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

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

什么是字节序?

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

Python教程:json序列化的方法

标签:字节,对象,字符串,json,序列,序列化
From: https://www.cnblogs.com/zhjblogs/p/16777501.html

相关文章

  • thinkphp5.1反序列化RCE
    thinkphp5反序列化RCEthinkphp5.1.37-5.1.41NewStarCTF第三周Web题目MaybeYouHaveTothinkMoreThinkPHP5框架反序列化RCE正好来研究一下php框架反序列化php反......
  • ThinkPHP6.0.13反序列化漏洞分析
    1. 前言最近有点闲下来了,不找点事干比较难受,打算找点漏洞分析一下,于是就打算看看TP的一些漏洞,ThinkPHP6.0.13是TP的最新版,八月份有师傅提交了一个issue指出TP存在反序列......
  • rust md5 sha1 sha256 sha512序列化
    [dependencies]rust-crypto="0.2.36"md5usecrypto::md5::Md5;usecrypto::digest::Digest;fnmain(){letmuthasher=Md5::new();lettext=String::from("12......
  • java序列化
    一、序列化与反序列化序列化:指堆内存中的java对象数据,通过某种方式把对存储到磁盘文件中,或者传递给其他网络节点(网络传输)。这个过程称为序列化,通常是指将数据结构或对象转......
  • 接收前端参数(反序列化) 学习
    参考:https://www.bilibili.com/video/BV1XR4y157rk?p=6&spm_id_from=pageDriver&vd_source=caabcbd2a759a67e2a3de8acbaaf08ea针对模型字段和属性见https://blog.csdn.......
  • 对象的序列化与反序列化
    ObjectOutputStream对象序列化流作用:把对象以流的形式写入道文件中保存构造方法:ObjectOutputStream(OutputStreamout)特有的方法:voidwriteObject(Objectobj)将......
  • 37.序列化器关系类型字段
    关系字段用于表示模型之间的关联Django中存在ForeignKey、MantToManyField和OneToOneField三种正向关系,以及反向关联和自定义关联当继承ModelSerializer类的时候,包括关......
  • springboot~Money类型在序列化时遇到的问题与解决
    在java扩展包里,有这样一个包,它可以描述货币类型,它说币种和金额组成,可以应用在任何复杂的场合里,这个对象结构如下:{"price":{"amount":1799.99,"curren......
  • ctfshow新手杯剪刀石头布(session反序列化)
    看到ini_set('session.serialize_handler','php');让我不由自主的想起了session反序列化漏洞的一道题。直接百度会有很多文章这里不多介绍。因此我们的解法就是:1.post一......
  • ctfshow新手杯baby_pickle(python序列化与反序列化)
    题目附件代码如下:#Author:#Achilles#Time:#2022-9-20#For:#ctfshowimportbase64importpickle,pickletoolsimportuuidfromflaskimportFlask,......