我想在我的项目中使用 google protobuf。
关键是我必须设置非常消息的第一个字节,因为底层代码根据第一个字节拒绝或接受消息并且它不知道 protobuf。
所以这个页面说 https://developers.google.com/protocol-buffers/docs/proto#scalar 我必须使用与 Java 中的 ByteString 对应的字节字段。
bytes 可以包含任意的字节序列。字符串字节串
但我不知道如何从 int 值创建 ByteString。我试过这样:
ByteBuffer eventTypeBuffer = ByteBuffer.allocate(1);
eventTypeBuffer.put(0x1c);
ByteString eventType = ByteString.copyFrom(eventTypeBuffer);
System.out.println(eventType.size() + " " + eventTypeBuffer.array().length);
Header.Builder mh = Header.newBuilder();
mh.setEventType(eventType);
不能正常工作并且 println 给出 0 1