Как хранить большой буфер / массив (char/int), используя буфер протокола в cpp...?

Есть ли способ сохранить массив с помощью буфера протокола Google в Cpp без повторного использования. Мне нужно хранить и отправлять буфер (размером 640x480x2), состоящий из данных изображения. Также, как хранить данные массива uint16_t, используя буфер протокола..?

1 ответ

  • В протобуфе repeated знак равно array, Я не понимаю, почему вы не можете использовать repeated uint32 img = field_num
  • Если вы действительно хотите сохранить в байтовом массиве, вы можете попробовать pb.set_mybytearray( std::string( data, data_length ) );

  • Протобуф не поддерживает uint16: https://developers.google.com/protocol-buffers/docs/reference/proto3-spec. Я бы порекомендовал использовать uint32 тип. Учитывая, что protobuf кодирует значения в varint, сообщение не будет содержать 2 байта нулей.

Другие вопросы по тегам