如何序列化/反序列化 protobuf-c 中的枚举

Posted

技术标签:

【中文标题】如何序列化/反序列化 protobuf-c 中的枚举【英文标题】:How to serialize/deserialize an enumeration in protobuf-c 【发布时间】:2011-06-24 19:17:05 【问题描述】:

我收到以下带有枚举的消息:

message testmessage 

    enum testenum 
        alpha = 1;
        beta = 2;

        

        required unit32 datapoint = 1;
        required uint32 location = 2;
        required int32  displacement = 3;

    

我知道如何序列化/打包和反序列化/解包正常的必填字段,但不知道枚举。在 protobuf-c 网站http://code.google.com/p/protobuf-c/ 上似乎没有任何这样的例子@如何用 c 做到这一点的例子会非常有帮助。谢谢!

【问题讨论】:

【参考方案1】:

根据文档http://code.google.com/intl/sv/apis/protocolbuffers/docs/overview.html,您可能必须实际使用枚举。

尝试添加:

 optional testenum enumerated = 4; 

下面

 required int32  displacement = 3;

和你的手指交叉

【讨论】:

以上是关于如何序列化/反序列化 protobuf-c 中的枚举的主要内容,如果未能解决你的问题,请参考以下文章

如何反序列化 Django 中的序列化查询集?

如何判断 protobuf.net 中的反序列化是不是失败?

如何解决延迟作业中的反序列化错误?

如何使用jackson(Java)反序列化对象中的json对象?

如何检查 JSON 中的值类型并决定是不是反序列化?

如何反序列化 .net 核心中的 json 数据集