プロジェクトでgoogleprotobufを使用したいと思います。
重要なのは、最初のバイトに基づいてメッセージを拒否または受け入れる基礎となるコードがあり、protobufについて知らないため、メッセージの最初のバイトを設定する必要があるということです。
したがって、このページには https://developers.google.com/protocol-buffers/docs/proto#scalar と記載されており、JavaのByteStringに対応するbytesフィールドを使用する必要があります。
bytes任意のバイトシーケンスを含めることができます。文字列ByteString
しかし、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は01を返します