Интерфейс C ++:
bool SerializeToArray(void * data, int size) const
просто сохраняет двоичные данные в байтовом массиве вместо строкового объекта.Если оно затем записывается в файл, его можно десериализовать обычным способом, как показано в учебнике :
address_book = addressbook_pb2.AddressBook()
f = open(sys.argv[1], "rb")
address_book.ParseFromString(f.read())
Тот факт, что SerializeToArray()
использовался на стороне C ++, делаетНе меняйте формат файла.Конечно, код C ++ может, например, написать собственный заголовок в файл, который необходимо удалить, но это будет другая часть кода.