协议缓冲区是否支持byte []字段?

时间:2014-07-22 21:34:52

标签: android bytearray protocol-buffers

我正在尝试更新Android BluetoothChat示例的代码,以使用Protobuf进行更多结构化数据交换。我还需要byte []数组字段来发送任意数据,如图像字节数组,但在尝试编译.proto文件时,我得到以下错误。

protofiles / bluetoothmessage.proto:8:18:预期的字段名称。

以下是我的.proto文件。

package bluetoothmessage;

option java_package = "com.example.bluetoothexample";
option java_outer_classname = "ProtocolBuffers";

message BTMessage {
    required int32 cmd = 1;
    optional byte[] appData = 2;
}

stackoverflow上的其他一些帖子提到byte []可以用作文件,下面的页面也说同样的事情。

https://developers.google.com/protocol-buffers/docs/proto#scalar

非常感谢任何帮助!谢谢!

1 个答案:

答案 0 :(得分:1)

From manual:bytes可以包含任意字节序列。

该行:

optional byte[] appData = 2;

必须更改为:

optional bytes appData = 2;