繁体   English   中英

使用 Protobuf-net 时的项目分隔符

[英]Item Separator while using Protobuf-net

我正在使用 protobuf-net nuget 包来序列化和反序列化我的数据。 我唯一的问题是对象之间没有项目分隔符。 因此,如果我只想读取一个对象,那么它会从给定的偏移量读取所有对象。 就像在 Json 中一样,如果我们提供它读取的偏移量,直到它找到一个有效的 json 对象。 之后它丢弃。 我想要 protobuf 的类似功能。

Protobuf - 数据格式 - 实际上:没有任何明确表示对象开始/结束的内容。 这是设计使然(因此 append === 合并),并且是协议规范的一部分,并且不是特定于库的(每个实现都会有相同的限制)。

一种常见的选择/解决方法是为每个对象添加长度前缀,以便您至少可以从单个流中使用多个对象。 为此:请参阅SerializeWithLengthPrefixDeserializeWithLengthPrefix方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM