天天看点

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 文件进行反序列化: