Mit Python, wie bekomme ich eine binäre Serialisierung meiner Google protobuf Nachricht?

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

  •  13-09-2019
  •  | 
  •  

Frage

Ich sehe die Funktion SerializeAsString in der protobuf Python-Dokumentation , aber wie dies deutet darauf hin, das gibt mir eine String-Version der binären Daten. Gibt es eine Möglichkeit der Serialisierung und ein binäres Array von protobuf Daten unter Verwendung von Python Parsen?

Wir haben eine C ++ Anwendung, die die protobuf Nachrichten als binäre Daten in einer Datei gespeichert werden. Wir möchten auf die Datei mit Python lesen und schreiben.

War es hilfreich?

Lösung

Python Strings binäre Daten enthalten kann, daher gibt SerializeAsString Binärdaten.

Andere Tipps

Ich denke, dass Strings ist die übliche Art und Weise Binärdaten in Python zu repräsentieren. Was möchten Sie tun genau das tun?

[Bearbeiten]

Haben Sie einen Blick auf die Struktur-Modul: http://docs.python.org/library /struct.html

Es ist nicht klar, was Sie tun möchten:

  1. etwas mit der serialisierten Form einer gesamten Nachricht Do (Aus der SerializeAsString Methode). Nicht sicher, was Sie mit, dies zu tun wollen würde?
  2. Speicher eine Bytestring innerhalb einer protobuf Nachricht - nur den bytes Typen in der Proto-Datei verwenden, und einen Byte-String in Python für die Variable
  3. .

Sie können Pythons Strings verwenden für das Erhalten Proto Puffer serialisierten Daten (spielt keine Rolle, wie sie in Kisten verpackt Ware - in Python, Java, C ++ oder eine andere Sprache).

Diese

ist die Linie von Pythons Version von Proto puffert Tutorial: address_book.ParseFromString(f.read())

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top