Реализация msgpack C++ :Как упаковать двоичные данные?

Я использую реализацию C++ msgpack. Я столкнулся с препятствием в том, как упаковать двоичные данные. С точки зрения двоичных данных у меня есть буфер следующего типа:

unsigned char* data;

Переменная data указывает на массив, который на самом деле является изображением. Что я хочу сделать, так это упаковать это с помощью msgpack. Кажется, нет примера того, как на самом деле упаковывать двоичные данные. Из спецификации формата поддерживаются необработанные байты, но я не уверен, как использовать эту функциональность.

Я попытался использовать вектор указателей на символы, например следующий:

msgpack::sbuffer temp_sbuffer;
std::vector vec;
msgpack::pack(temp_sbuffer, vec);

Но это приводит к ошибке компилятора, так как нет шаблона функции для T=std ::vector .

Я также просто попробовал следующее:

msgpack::pack(temp_sbuffer, "Hello");

Но это также приводит к ошибке компиляции (, т.е. нет шаблона функции для T=const char [6]

Поэтому я надеялся, что кто-нибудь может дать мне совет, как использовать msgpack C++ для упаковки двоичных данных, представленных в виде массива char .

7
задан mdb841 27 July 2012 в 19:47
поделиться