我收到Google Protobuffer并将其保存在QByteArray中。 现在我用
将收到的数据解析到相应的protobuff中::proto::dummy * protobuffer;
QByteArray * ByteArray;
//receive Data
...
protobuffer->ParseFromArray(ByteArray->data(), ByteArray->size);
if(protobuffer->has_XY) /* print it to Log */;
由于我的protobuffer有几个数据字段,我想避免在上面的方法中显示每个条目。有没有快速的方法来打印protobuffer的所有信息?
答案 0 :(得分:2)
如果您只想获得协议缓冲区的人类可读表示,可以调用其DebugString()
(或ShortDebugString()
)方法。您可以在Message
课程文档here中了解有关这些方法的更多信息。