Protobuf-net 对字节数组进行序列化/反序列化

Posted

技术标签:

【中文标题】Protobuf-net 对字节数组进行序列化/反序列化【英文标题】:Protobuf-net Serialize/Deserialize to/from byte arrays 【发布时间】:2014-06-20 14:45:19 【问题描述】:

我在对 GC 敏感的环境中工作,并且对从预分配的字节数组而不是内存流序列化/反序列化 protobuf 感兴趣。 protobuf-net 库可以做到这一点吗?

【问题讨论】:

你怎么知道你的序列化缓冲区有多大? 【参考方案1】:

您可以使用预分配的缓冲区初始化MemoryStream,请参阅this 重载。您甚至可以使用this 重载分配一个大缓冲区并索引到其中的位。

然后您可以像往常一样将此流传递给 protobuf。

【讨论】:

以上是关于Protobuf-net 对字节数组进行序列化/反序列化的主要内容,如果未能解决你的问题,请参考以下文章

使用 ProtoBuf-Net,如何(反)序列化多维数组?

protobuf-net 使用啥基本序列化器来输出字节数组?

如何使用 protobuf-net 序列化/反序列化锯齿状/嵌套数组?

使用知道架构的 protobuf-net 反序列化未知对象

序列化工具类({对实体Bean进行序列化操作.},{将字节数组反序列化为实体Bean.})

需要在运行时确定哪些类型 protobuf-net 可以序列化/反序列化