Я использую реализацию 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 .