在协议缓冲区中添加字符串数组

时间:2013-07-08 15:58:48

标签: protocol-buffers

我想在协议缓冲区消息中添加字符串数组,这是我无法做到的。我写的如下

repeated string data = 1[packed=true];

我收到以下错误:

[packed = true] can only be specified for repeated primitive fields.

我能够为具有相同语法的int数组做到这一点。我很困惑为什么字符串被认为是非原始类型。 有人可以帮我吗? 谢谢!!

1 个答案:

答案 0 :(得分:3)

请参阅Protobuf Documentation的“指定字段规则”部分。基本上,只包装 对数字字段有意义。

保留繁荣的报价:

  

由于历史原因,基本数字类型的重复字段的编码效率不高。新代码应该使用特殊选项[packed = true]来获得更有效的编码。