首页 > 其他分享 >序列化

序列化

时间:2023-08-09 19:34:45浏览次数:31  
标签:程序 保存 跨平台 内存 序列化 数据

什么是序列化

我们把对象(变量)从内存中变成可存储或传输的过程称之为序列化,在Python中叫pickling,在其他语言中也被称之为serialization,marshalling,flattening等等,都是一个意思。

为什么要序列化

1. 持久保存状态

需知一个软件/程序的执行就在处理一系列状态的变化,在编程语言中,'状态'会以各种各样有结构的数据类型(也可简单的理解为变量)的形式被保存在内存中。
内存是无法永久保存数据的,当程序运行了一段时间,我们断电或者重启程序,内存中关于这个程序的之前一段时间的数据(有结构)都被清空了。
在断电或重启程序之前将程序当前内存中所有的数据都保存下来(保存到文件中),以便于下次程序执行能够从文件中载入之前的数据,然后继续执行,这就是序列化。

2.跨平台数据交互

序列化之后,不仅可以把序列化后的内容写入磁盘,还可以通过网络传输到别的机器上,如果收发的双方约定好实用一种序列化的格式,那么便打破了平台/语言差异化带来的限制,实现了跨平台数据交互。
反过来,把变量内容从序列化的对象重新读到内存里称之为反序列化,即unpickling。

标签:程序,保存,跨平台,内存,序列化,数据
From: https://www.cnblogs.com/yuhaohao/p/17617818.html

相关文章

  • delphi 自带的JSON序列化类
    unitUnit1;interfaceusesWinapi.Windows,Winapi.Messages,System.SysUtils,System.Variants,System.Classes,Vcl.Graphics,Vcl.Controls,Vcl.Forms,Vcl.Dialogs,System.JSON.Serializers,Vcl.StdCtrls;typeTForm1=class(TForm)Memo1:TMemo......
  • Weblogic WLS Core Components 反序列化命令执行漏洞(CVE-2018-2628)
    Vulhub-Docker-Composefileforvulnerabilityenvironment1、介绍名称:WeblogicWLSCoreComponents反序列化命令执行漏洞(CVE-2018-2628)编号:CVE-2018-2628原理:应用:Weblogic 版本:Weblogic10.3.6.0,Weblogic12.1.3.0,Weblogic12.2.1.2,Weblogic12.2.1.32、测试2.......
  • 【新】通达OA前台反序列化漏洞分析
    0x01前言注:本文仅以安全研究为目的,分享对该漏洞的挖掘过程,文中涉及的所有漏洞均已报送给国家单位,请勿用做非法用途。通达OA作为历史上出现漏洞较多的OA,在经过多轮的迭代之后已经很少前台的RCE漏洞了。一般来说通达OA是通过auth.inc.php文件来进行鉴权,如图1.1所示。整个通达全部的......
  • 序列化处理和反序列化
     序列化是将对象转换为字节流的过程,反序列化则是将字节流转换回对象的过程。序列化的主要作用是将对象持久化保存或者在网络中传输,而反序列化则是将保存或传输的序列化数据重新还原为对象。序列化的意义和作用包括:持久化保存:通过序列化,可以将对象保存到磁盘或数据库中,以便......
  • 【JavaScript05】Object的序列化与反序列化
    对象的序列化当我们需要像后端传json字符串的时候,需将JavaScript的对象转成json格式,这个过程就是序列化。varp={name:"肖文亮",age:18,wife:{name:"XXX",age:18,hobby:[......
  • 关于Python的学习记录(二十一_对象的序列化和反序列化)
    JSON概述在Python中,我们可以将程序中的数据以JSON格式进行保存。JSON是“JavaScriptObjectNotation”的缩写,它本来是JavaScript语言中创建对象的一种字面量语法,现在已经被广泛的应用于跨语言跨平台的数据交换。使用JSON的原因非常简单,因为它结构紧凑而且是纯文本,任何操......
  • 漏洞复现报告:CVE-2020-2883 Weblogic反序列化漏洞
    OracleWebLogicServer漏洞研究报告一、漏洞信息搜集1.1漏洞信息表漏洞名称OracleWebLogicServer反序列化漏洞发布时间2020年4月16日漏洞编号CVE-2020-2883威胁类型反序列化漏洞危害级别高危影响版本OracleWebLogicServer10.3.6.0.0、12.1.3.0.0、12.2.1.3.0、12.2.1.4.0版......
  • 漏洞复现报告:CVE-2019-2890 反序列化漏洞
    OracleWebLogicServer漏洞研究报告一、漏洞信息搜集1.1漏洞信息表漏洞名称OracleWebLogicServer反序列化漏洞发布时间2019年10月16日漏洞编号CVE-2019-2890威胁类型反序列化漏洞危害级别高危影响版本OracleWebLogicServer10.3.6.0.0、12.1.3.0.0、12.2.1.3.0、12.2.1.4.0......
  • php反序列化
    serialize() 函数用于序列化对象或数组,并返回一个字符串。unserialize()反序列化,将字符串转化为对象。通常见到调用外部文件,然后需要通过调用某个函数来执行最终得到flag。常见函数如下: ......
  • 序列化器-Serializer
    序列化器-Serializer1定义序列化器DjangoRESTframework中的Serializer使用类来定义,须继承自rest_framework.serializers.Serializer。例如,我们已有了一个数据库模型类BookInfoclassBookInfo(models.Model):btitle=models.CharField(max_length=20,verbose_name='......