www.state-it.info

Gran base de respuestas a las preguntas de los desarrolladores
Header decor

Como serializar los datos en formato binario?

Sersoftin 2018-06-19 21:53:01

Hay un cierto objeto. En el objeto hay todo tipo de datos a partir de variables booleanas y hasta cadenas. Todo esto en agricultura serializar un objeto, sin exceso de оверхеда? Y para el orden de bytes ha cambiado en big endian.

Aquí tengo la estructura de la:

struct Point {
    int x;
    int y;
    int z;
    std::string name;
};

// заполним ее
Point point;
point.x = 5;
point.y = 10;
point.z = 7;
point.name = "test";


Ahora quiero hacer algo de ese tipo:
std::vector<byte> buff = serializer::to_binary(point);

Y obtener finalmente quiero es:
// мы сериализовали данные в бинарный формат
0x00 0x00 0x00 0x05 0x00 0x00 0x00 0x0A 0x00 0x00 0x00 0x07 0x74 0x65 0x73 0x74 0x00


Las maneras en que se puede lograr esto? Está claro que no hay una solución que puede hacer es subir todos a la vez como yo quiero. Pero, de repente, alguien sabe de un puñado de algo, para llegar a tal efecto. Todo Tipo De Boost.Serialization no proponer. El cambio de formato también no proponer. Escribir con las manos, convertir el orden de bytes por allí htons, htonl, etc. - no, gracias.

Adamos 2018-06-19 22:08:07

Si sus etiquetas sobre la red y los protocolos suministrados no en vano, es obligado recordar que, en estos casos rígida binaria de la entrada de la estructura - la forma más popular de disparar en el rastrillo nosotros mismos en el pie.


Total answers: 2

Taraflex 2018-06-19 22:30:18

Todo Tipo De Boost.Serialization no ofrecer.

Mientras que en c++ no llevarn compile time reexión, sólo para POD tipos de https://habr.com/post/344206/
Simplemente tome protobuf y no tortura.

Sersoftin 2018-06-19 22:55:05

Bien, voy a ver.


dev_random 2018-06-20 00:23:42

he aquí entonces la ocasión de probar: https://github.com/USCiLab/cereal
fácil ha sido llevado, los contenedores de la stl trabajan fuera de la caja, es fácil de ampliar la serialización en sus estructuras y clases.
recuerdo exactamente lo que se puede escribir en el cross-platform-binary y formatos json.

Preguntas relacionadas:

Footer decor

© www.state-it.info | Base of answers to questions for developers and programmers.