有没有办法在cpp中使用Google协议缓冲区存储数组,而无需重复使用。我需要存储和发送包含图像数据的缓冲区(大小为640x480x2)。还有如何使用协议缓冲区存储uint16_t数组数据。
答案 0 :(得分:0)
repeated
= array
中。我不明白您为什么不能使用repeated uint32 img = field_num
如果您真的想存储到字节数组中,可以尝试pb.set_mybytearray( std::string( data, data_length ) );
Protobuf不支持uint16
:https://developers.google.com/protocol-buffers/docs/reference/proto3-spec#fields。我建议使用uint32
类型。假设protobuf将值编码为varint,则该消息将不包含2个字节的零。