【发布时间】:2014-06-24 13:40:34
【问题描述】:
我对@987654323@(应该)在通过Google Protocol Buffers 进行序列化/反序列化时如何工作感到摸不着头脑。
给定这样的原型:
message MyMessage
{
// 0 or more bytes
required bytes content = 1;
}
与optional bytes 字段相比,我预计会出现某种不同的行为。我能说的是,没有办法区分线上的空字节数组和零长度字节数组。
附带说明:我们使用Protobuf-Net,它有时会添加一些额外的糖(如非空List<> 用于空/空重复字段)但对于字节,我们总是在零/空字节数组的情况下为空,不管required/optional。
简而言之,required 对bytes 字段有什么影响(如果有)?如果没有,总是使用optional bytes 会更好吗?
【问题讨论】:
标签: c# .net serialization protocol-buffers protobuf-net