我在protobuf Python documentation中看到了函数SerializeAsString,但是就像这样表明,这给了我二进制数据的字符串版本。有没有办法使用Python序列化和解析protobuf数据的二进制数组?
我们有一个C ++应用程序,它将protobuf消息作为二进制数据存储在一个文件中。我们想用Python读取和写入文件。
答案 0 :(得分:4)
Python字符串可以包含二进制数据,因此SerializeAsString
返回二进制数据。
答案 1 :(得分:1)
答案 2 :(得分:0)
不清楚你想做什么:
bytes
类型,在python中使用字节字符串作为变量。答案 3 :(得分:0)
您可以使用Pythons Strings来获取原型缓冲区序列化数据(无论它们是如何包装的 - 无论是Python,Java,C ++还是其他任何语言)。
这些是来自Pythons版本的proto缓冲区教程:
address_book.ParseFromString(f.read())