2009-12-07 1 views
1

Я вижу функцию SerializeAsString в protobuf Python documentation, но, как это предполагает, это дает мне строчную версию двоичных данных. Есть ли способ сериализации и анализа двоичного массива данных protobuf с использованием Python?Использование Python, как мне получить двоичную сериализацию моего сообщения protobuf в Google?

У нас есть приложение на C++, которое хранит сообщения protobuf в виде двоичных данных в файле. Мы хотели бы читать и писать в файл с помощью Python.

+0

Я не программист на Python, но Javas String имеет метод 'getBytes()'. –

ответ

4

Python строка может содержать двоичные данные, поэтому SerializeAsString возвращает двоичные данные.

0

Это не ясно, что вы хотите сделать:

  1. ли что-то с сериализованной формой всего сообщения (от метода SerializeAsString). Не знаете, что вы хотели бы сделать с этим?
  2. Сохраните строку байта внутри сообщения protobuf - просто используйте тип bytes в файле .proto и байтовую строку в python для переменной.
1

Я думаю, что строки являются обычным способом представления двоичных данных в Python. Что именно вы хотите сделать?

[Редактировать]

Посмотрите структуры модуля: http://docs.python.org/library/struct.html

+0

Я обновил свой ответ. –

0

Вы можете использовать питонов Струны для получения прото буферов данных в последовательную форму (не имеет значения, как они Ware упаковали - в Python, Java, C++ или любой другой язык).

Это является линия от версии питонов проты буферами учебник: address_book.ParseFromString(f.read())

 Смежные вопросы

  • Нет связанных вопросов^_^