天天看點

Protobuf資料序列化和反序列化

Protocol Buffer(簡稱Protobuf) 是 Google 公司内部提供的資料序列化和反序列化标準,與 JSON 和 XML 格式類似,以 .proto 作為擴充名,同樣大小的對象,相比 XML 和 JSON 格式, Protobuf 序列化後所占用的空間最小。

Protocol Buffers 是一種輕便高效的結構化資料存儲格式,可用于通訊協定、資料存儲等領域的語言無關、平台無關、可擴充的序列化結構資料格式,目前提供了 C# 語言的 API 接口可供使用。

首先通過NuGet安裝protobuf-net程式包:Install-Package protobuf-net

定義您要序列化的類型:

如上所示,需要在類型上标記 ProtoContract 特性,在屬性上标記 ProtoMember 并指定序号。

序列化資料,将序列化結果寫到 prson.bin 檔案中,當然檔案擴充名可以随意指定:

反序列化資料,我們将剛剛序列化後的 rson.bin 檔案進行反序列化: