[問題] 序列化

看板C_and_CPP作者 (空氣牆)時間5年前 (2019/04/04 01:39), 5年前編輯推噓2(2010)
留言12則, 6人參與, 5年前最新討論串1/1
寫題目的時候遇到序列化的問題, 查了很久還是不清楚到底什麼是序列化, 想問問大家我對序列化的了解是否正確。 目前了解要序列化是因為舉例來說像是 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 如果有理解錯誤,或問題怪怪的, 還麻煩指正一下,感謝~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.24.9.88 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1554313173.A.8BD.html ※ 編輯: AirWall (114.24.9.88), 04/04/2019 01:41:25

04/04 02:37, 5年前 , 1F
所以tree原始是怎麼儲存的? 在記憶體中總不是畫些node用鉛
04/04 02:37, 1F

04/04 02:37, 5年前 , 2F
筆連起來吧
04/04 02:37, 2F

04/04 02:42, 5年前 , 3F
不然這樣問好了 leetcode中有關tree的題目 它原始的test d
04/04 02:42, 3F

04/04 02:42, 5年前 , 4F
ata是怎給的? 這裡指的不是餵進function的root node point
04/04 02:42, 4F

04/04 02:42, 5年前 , 5F
er
04/04 02:42, 5F

04/04 12:01, 5年前 , 6F
序列化就是用小,中,大括號表示表示,變數,陣列,vect
04/04 12:01, 6F

04/04 12:01, 5年前 , 7F
or,map,class等儲存格式。
04/04 12:01, 7F

04/04 12:12, 5年前 , 8F
先了解什麼是反序列化?
04/04 12:12, 8F

04/04 12:14, 5年前 , 9F
1. google: bitstream wiki
04/04 12:14, 9F

04/04 12:14, 5年前 , 10F
2. 未必字串,甚至位元為單位也可能,只是大多存儲單位是位元組
04/04 12:14, 10F

04/05 01:49, 5年前 , 11F
感謝大家的關鍵字,瞭解許多,謝謝
04/05 01:49, 11F

04/05 17:09, 5年前 , 12F
我個人是比較分不清楚serialize 跟marshal
04/05 17:09, 12F
文章代碼(AID): #1SfE_LYz (C_and_CPP)