À l'aide de Python, comment puis-je obtenir une sérialisation binaire de mon Google protobuf message?
Je vois la fonction SerializeAsString dans le protobuf la documentation Python, mais comme cela l'indique, cela me donne une chaîne de version des données binaires. Est-il un moyen de sérialisation et de l'analyse d'un tableau binaire de protobuf de données à l'aide de Python?
Nous avons une application C++ qui stocke les protobuf des messages sous forme de données binaires dans un fichier. Nous aimerions lire et écrire dans le fichier à l'aide de Python.
- Je ne suis pas programmeur Python mais Javas Chaîne a
getBytes()
méthode.
Vous devez vous connecter pour publier un commentaire.
Python chaînes peuvent contenir des données binaires, donc
SerializeAsString
renvoie les données binaires.SerializeToString
(je ne sais pas si c'était en effetSerializeAsString
quand cela a été répondu), l'Ajout de commentaires pour le bénéfice de ceux qui viennent les chercher.Je pense que les chaînes sont la façon habituelle de représenter des données binaires en Python. Que faites-vous exactement voulez faire?
[Modifier]
Ont un look à la struct module: http://docs.python.org/library/struct.html
- Il pas clair ce que vous voulez faire:
bytes
type dans le .proto fichier, et une chaîne d'octets en python pour la variable.Vous pouvez utiliser les Pythons Chaînes pour obtenir proto tampons de données sérialisées (n'a pas d'importance comment ils vaisselle dans des caisses en Python, Java, C++ ou tout autre langage).
Ces est ligne de Pythons version de proto tampons tutoriel:
address_book.ParseFromString(f.read())