Al utilizar Python, ¿cómo consigo una serialización binaria de mi mensaje protobuf Google?

StackOverflow https://stackoverflow.com/questions/1859438

  •  13-09-2019
  •  | 
  •  

Pregunta

I ver la SerializeAsString función en el protobuf documentación de Python , pero como esto sugiere, esto me da una versión de cadena de los datos binarios. ¿Hay una manera de serializar y analizar una matriz binaria de los datos protobuf utilizando Python?

Tenemos una aplicación de C ++ que almacena los mensajes protobuf como datos binarios en un archivo. Nos gustaría leer y escribir en el fichero usando Python.

¿Fue útil?

Solución

cadenas de Python pueden contener datos binarios, por lo tanto, SerializeAsString devuelve los datos binarios.

Otros consejos

Creo que las cadenas son la forma habitual de representar datos binarios en Python. ¿Qué exactamente quiere hacer?

[Editar]

Tenga una mirada en el módulo de estructura: http://docs.python.org/library /struct.html

No está claro lo que quiere hacer:

  1. Hacer algo con la forma serializada de un mensaje completo (A partir del método SerializeAsString). No está seguro de lo que se quiere hacer con esto?
  2. almacenar una cadena de bytes dentro de un mensaje protobuf - sólo tiene que utilizar el tipo bytes en el archivo .proto, y una cadena de bytes en Python para la variable
  3. .

Puede utilizar pitones Cuerdas para conseguir tampones proto datos serializados (no importa la forma en que mercancías de los enjaulados - en Python, Java, C ++ o cualquier otro idioma).

Estos es la línea de pitones versión de proto amortigua tutorial: address_book.ParseFromString(f.read())

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top