пакет сообщений — как найти представленную строку?

на сайте пакета сообщений:

Пакет сообщений

выше есть ссылка «Попробуйте», где показано, какова длина строки представления данных.

У меня есть небольшой скрипт, основанный на примерах, представленных в пакете сообщений git hub

#include <msgpack.hpp>
#include <vector>
#include <string>
#include <iostream>

int main(void) {
using namespace std;

msgpack::sbuffer buffer;

msgpack::packer<msgpack::sbuffer> pk(&buffer);
pk.pack_map(2);
pk.pack(string("SerialNumber"));
pk.pack(123456789);
pk.pack(string("Date"));
pk.pack("1.4.14");//deserialize

msgpack::unpacker pac;
pac.reserve_buffer(buffer.size());
memcpy(pac.buffer(),buffer.data(),buffer.size());
pac.buffer_consumed(buffer.size());msgpack::unpacked result;
while(pac.next(&result))
{
cout<<result.get()<<endl<<endl;

}

прекрасно работает, но я хочу получить строку, которая представлена ​​за упакованными данными. прямо как в «Попробуй!» ссылка на сайт. как я могу найти это?

благодарю вас

1

Решение

Я хочу получить строку, которая представлена ​​за упакованными данными

Что вы можете сделать, это напечатать содержимое простого буфера в шестнадцатеричном формате:

const char *data = buffer.data();
for (int i = 0; i < buffer.size(); i++)
printf("%02x ", (unsigned char) data[i]);
1

Другие решения


По вопросам рекламы [email protected]