社区
BSV区块链
帖子详情
什么是序列化和反序列化?
ちんたくよう
2021-03-09 07:16:13
之前在某篇文章里看到的这两个词。
据说是数据传输的时候用的一种技术,求大神解答。
...全文
3121
1
打赏
收藏
什么是序列化和反序列化?
之前在某篇文章里看到的这两个词。 据说是数据传输的时候用的一种技术,求大神解答。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
「已注销」
2021-03-14
打赏
举报
回复
序列化和反序列化是非常常见的计算机技术名词。
当 A 把一段数据发给 B 时,不同的序列化规则会影响 B 对收到数据的解释。举个例子。
程序中,一般用特定的数据结构,来表示和存储具体的数据,就像上面描述的那样。
这样的数据,方便人们识别和理解,方便程序操作,但不方便在网络上传输。
在传输前需要将数据结构转换成方便网络传输的字节流形式,这个过程称为序列化。
从字节流“恢复”数据成数据结构的形式,这个过程称为反序列化。
举个例子方便理解。我们可以定义下面的数据结构,来表示二十四小时制的时间。
Type Time {
uint32_t hour;
uint32_t minute;
uint32_t second;
};
时、分、秒分别用 4 字节整数表示,20:35:10可以表示为
Time t;
t.hour = 20; // 00 00 00 14
t.minute = 35; // 00 00 00 23
t.second = 10; // 00 00 00 0a
注释后面是数据的十六进制表示。在传输数据时,发送
00 00 00 14 00 00 00 23 00 00 00 0a
并规定:
你会收到 12 字节的数据
第一个 4 字节数据是“时”
第二个 4 字节数据是“分”
第三个 4 字节数据是“秒”
对方在收到数据后,就能根据规则,将字节流还原成数据结构的形式。
注意到,数据结构不仅包含数据的值,还描述“这是什么数据”。
当你看到t.hour = 20,你知道这个数据表示时间中的“小时”,值为 20。
但当你看到00 00 00 14,你只知道这个数据的值为 20,但不知道这是 20 时,还是 20 分,还是 20 秒。所以,需要定义序列化的规则。
更多细节内容,请关注开发者专区博客
https://blog.csdn.net/aaron67/article/details/106751818
产业园区运营负责人如何利用区域产业知识图谱提升招商精准度?.docx
科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。
编程题答案-全国计算机等级考试二级教程-Python语言程序设计(2018年版)
下载代码方式:https://pan.quark.cn/s/a4b39357ea24 全国计算机等级考试二级教程《Python语言程序设计》(2018年版)被视为针对Python入门者和备考人员的核心学习材料。该资料汇总了教材内的所有编程练习答案,这些答案在Python 3.5.3环境中经过实际执行测试,从而保障了代码的准确性和应用价值。备考人员借助这些答案,能够评估自身的学习进度,并深入理解和熟练掌握Python编程的基础原理与方法。 1. Python基础理论:Python作为一门高级编程语言,因其简明扼要的语法结构和卓越的功能表现而备受推崇。基础内容涵盖了变量、数据种类(例如整型、浮点型、字符串、布尔型、列表、元组、字典、集合)、逻辑控制(比如条件判断if-else,循环控制for、while)、函数的声明及使用、模块的引入等。 2. Python高级应用:Python的进阶内容涉及异常管理(try-except-finally结构),类与实例(面向对象编程的基础,包含类的构造、对象的生成、属性与方法的运用、继承机制、多态表现),装饰器(用于调整函数或类的功能特性),上下文管理器(借助with语句实现资源管理)等。 3. 数据文件处理:Python配备了全面的文件操作功能,涉及文件的开启、数据读写、关闭操作,以及多种操作模式(例如r模式用于读取,w模式用于写入,a模式用于追加内容等)。此外,还包括文本文件与二进制文件的转换处理,以及文件的位置调整、复制和删除等操作。 4. 标准库的运用:Python的标准库资源极为丰富,比如os模块提供操作系统接口,sys模块用于获取系统参数,random模块可用于生成随机数值,datetime模块负责处...
MAC卸载Xcode方法
代码转载自:https://pan.quark.cn/s/1fad123edf03 在MAC操作系统环境中移除x-code的程序指令文档内列出了四个具体的指令
BSV区块链
49
社区成员
93
社区内容
发帖
与我相关
我的任务
BSV区块链
BSV区块链(BSV Blockchain)是唯一遵从2008年发布的比特币白皮书宗旨的全球公有链,具有稳定性、可拓展性、安全性、支持安全即时交易四大核心特性。
复制链接
扫一扫
分享
社区描述
BSV区块链(BSV Blockchain)是唯一遵从2008年发布的比特币白皮书宗旨的全球公有链,具有稳定性、可拓展性、安全性、支持安全即时交易四大核心特性。
区块链
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章