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

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

1 Ответ

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

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

...