我想在协议缓冲区消息中添加字符串数组,但我无法做到。我写如下
repeated string data = 1[packed=true];
我收到以下错误:
[packed = true] can only be specified for repeated primitive fields.
我可以为具有相同语法的 int 数组做到这一点。我很困惑为什么字符串被认为是非原始类型。谁能帮帮我。?谢谢 !!
我想在协议缓冲区消息中添加字符串数组,但我无法做到。我写如下
repeated string data = 1[packed=true];
我收到以下错误:
[packed = true] can only be specified for repeated primitive fields.
我可以为具有相同语法的 int 数组做到这一点。我很困惑为什么字符串被认为是非原始类型。谁能帮帮我。?谢谢 !!
请参阅Protobuf 文档的“指定字段规则”部分。本质上,打包只对数字字段有意义。
保留繁荣的报价:
由于历史原因,基本数字类型的重复字段没有尽可能有效地编码。新代码应使用特殊选项 [packed=true] 以获得更有效的编码。