- 什麼是序列化
在計算機科學的資料進行中,是指将資料結據或對象轉換成可取用的格式(如存成檔案,位元組),以讓後續在相同或另一台計算機中,能恢複原先狀态的過程。
- 為什麼我們需要序列化
- 存儲/傳輸
- IPC/RPC
- IPC,Inter-Process Communication,程序間通信
- RPC,Remote Procedure Call,遠端過程調用
- 深度copy
- 序列化的類型
- 文本,要被encoded後才可做序列化,因為在計算機内部都是以二進制存儲,編碼有:uft-8(英文每個字元占1位元組,中文每個字元占3個位元組), unicode(英文每個字元占2位元組,中文每個字元占2個位元組);另外還要注意位元組順序;
- XML, JSON, ProtoBuf(texst)
- 優點:可讀
- 缺點:轉換速度慢
- 位元組
- 優點:轉換速度快
- 缺點
- 文本,要被encoded後才可做序列化,因為在計算機内部都是以二進制存儲,編碼有:uft-8(英文每個字元占1位元組,中文每個字元占3個位元組), unicode(英文每個字元占2位元組,中文每個字元占2個位元組);另外還要注意位元組順序;
- ProtoBuf,非語言相關、非平台相關、向下相容(可擴充字段,不影響舊版本資料);(學習)