7

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

repeated string data = 1[packed=true];

我收到以下错误:

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

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

4

1 回答 1

8

请参阅Protobuf 文档的“指定字段规则”部分。本质上,打包对数字字段有意义。

保留繁荣的报价:

由于历史原因,基本数字类型的重复字段没有尽可能有效地编码。新代码应使用特殊选项 [packed=true] 以获得更有效的编码。

于 2013-07-08T16:09:26.453 回答