c++序列化和反序列化代码(序列化和反序列化原理)

80酷酷网    80kuku.com

一、什么是序列化与反序列化?

前面的文章有讲过Python的文件操作,而操作文件最重要的是要有统一的编码,能够将日文、韩文、中文、英语都转换成统一的格式,方便编译与存储,这个编码就是万国码(Unicode)。

而在代码的世界里也存在各种不同的语言,前端的html、css、js,后端的java、c++、php、Pyhton、go等;

各种编程语言的数据传输、接收、编译、存储,就是序列化与反序列化的过程。

序列化是皀把内存的数据转换成特定格式的内容,方便接收与编译;

反序列化就是把数据转换成后端(内存)能够识别的字符,方便存储;

c++序列化和反序列化代码(序列化和反序列化原理)(图1)

二、序列化与反序列化的作用?

1、通过序列化或反序列化都能得到的特定格式的内容,能够很方便地用于

① 可以用于存储,将数据存储到硬盘;

② 可以传输给其他平台使用,实现跨平台数据交互。

2、在Python中序列化格式的分类

在Python中,序列化与反序列化的数据类型有两种:

A. Json格式的数据(通用格式);

B. pickle格式的数据(专用格式,只有python可以识别);

c++序列化和反序列化代码(序列化和反序列化原理)(图2)

三、在Python中实现序列化与反序列化

1、实现json格式的数据序列化与反序列化

在Python中要将数据转换成json数据,需要要用到json库进行转换;实例如下:

c++序列化和反序列化代码(序列化和反序列化原理)(图3)

2、实现pickle格式的数据序列化与反序列化

在Python中要将数据转换成pickle数据,需要要用到pickle库进行转换,实现方式与json序列化的方式是一模一样的,只是将json库转换成了pickle库就可以了。

c++序列化和反序列化代码(序列化和反序列化原理)(图4)

以上是本期内容,如果有表达不对的内容,欢迎您的留言、斧正,我们一起天天向上。

分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: