[问题] 序列化

楼主: AirWall (空气墙)   2019-04-04 01:39:31
写题目的时候遇到序列化的问题,
查了很久还是不清楚到底什么是序列化,
想问问大家我对序列化的了解是否正确。
目前了解要序列化是因为举例来说像是 int 在不同编译器或者系统就会有
不同的 machine code,或者一些资料结构的状态不好直接储存,
所以转成一个方便的格式来储存,传输。
然后我看到序列化就是把资料转成 a squence of bits,
我的理解是 like 0101010111111110100 这样,
但我看到题目是把 binary tree 转成 "[1,2,3,null,null,4,5]" 的字串形式,
还有像是现在网络传输,很多序列化也是转成JSON字串,
这里我理解是因为原本 tree 的结构不好被储存,
转成字串形式就很好储存,也能依此还原出 tree。
但这个步骤好像比较像是把不好储存的状态转成一个好储存的格式,
跟转成 a squence of bits 好像没什么关系?
1. 是因为最终这个 string 会被转成 010101001000 的格式所以也算有转成
a seq of bits吗?
2. 如果是这样,想请问除了序列化成字串以外,还可以序列化成什么?
可以序列化成 array of char 吗,因为 array contiguous 然后 char 都是 1 Byte
如果有理解错误,或问题怪怪的,
还麻烦指正一下,感谢~
作者: hsnuyi (羊咩咩~)   2019-04-04 02:37:00
所以tree原始是怎么储存的? 在内存中总不是画些node用铅笔连起来吧不然这样问好了 leetcode中有关tree的题目 它原始的test data是怎给的? 这里指的不是喂进function的root node pointer
作者: s4300026 (s4300026)   2019-04-04 12:01:00
序列化就是用小,中,大括号表示表示,变量,阵列,vector,map,class等储存格式。
作者: Feis (永远睡不着 @@)   2019-04-04 12:12:00
先了解什么是反序列化?
作者: yvb   2019-04-04 12:14:00
1. google: bitstream wiki2. 未必字串,甚至位元为单位也可能,只是大多存储单位是字节
楼主: AirWall (空气墙)   2019-04-05 01:49:00
感谢大家的关键字,了解许多,谢谢
作者: x246libra (楓)   2019-04-05 17:09:00
我个人是比较分不清楚serialize 跟marshal

Links booklink

Contact Us: admin [ a t ] ucptt.com