我在protobuf Python 文档中看到了函数 SerializeAsString ,但是就像这表明的那样,这给了我二进制数据的字符串版本。有没有一种方法可以使用 Python 序列化和解析 protobuf 数据的二进制数组?
我们有一个 C++ 应用程序,它将 protobuf 消息作为二进制数据存储在一个文件中。我们想使用 Python 读取和写入文件。
我在protobuf Python 文档中看到了函数 SerializeAsString ,但是就像这表明的那样,这给了我二进制数据的字符串版本。有没有一种方法可以使用 Python 序列化和解析 protobuf 数据的二进制数组?
我们有一个 C++ 应用程序,它将 protobuf 消息作为二进制数据存储在一个文件中。我们想使用 Python 读取和写入文件。
Python 字符串可以保存二进制数据,因此SerializeAsString
返回二进制数据。
目前尚不清楚您要做什么:
bytes
.proto 文件中的类型和 python 中的字节字符串作为变量。您可以使用 Pythons Strings 来获取 proto 缓冲区序列化数据(不管它们是如何创建的 - 在 Python、Java、C++ 或任何其他语言中)。
这些是来自 Pythons 版本的 proto buffers 教程的行:
address_book.ParseFromString(f.read())