使用Python,如何获得Google protobuf消息的二进制序列化?
我在中看到函数SerializeAsString,但正如这所建议的,这为我提供了二进制数据的字符串版本。有没有一种方法可以使用Python序列化和解析protobuf数据的二进制数组使用Python,如何获得Google protobuf消息的二进制序列化?,python,protocol-buffers,Python,Protocol Buffers,我在中看到函数SerializeAsString,但正如这所建议的,这为我提供了二进制数据的字符串版本。有没有一种方法可以使用Python序列化和解析protobuf数据的二进制数组 我们有一个C++应用程序,它将原始BuffF消息存储为文件中的二进制数据。我们希望使用Python读取和写入该文件。不清楚您要执行的操作: 对整个消息的序列化形式执行某些操作(来自SerializeAsString方法)。不知道你想用这个做什么 在protobuf消息中存储一个字节字符串-只需在.proto文件中使
我们有一个C++应用程序,它将原始BuffF消息存储为文件中的二进制数据。我们希望使用Python读取和写入该文件。
不清楚您要执行的操作:bytes
类型,在python中使用一个字节字符串作为变量我认为字符串是Python中表示二进制数据的常用方式。你到底想做什么 [编辑]
查看结构模块:
< P>可以使用Python字符串获取原始缓冲区序列化数据(不管它们是如何用Python、java、C++或其他语言编写的)。 这是Pythons版proto buffers教程中的一行:address\u book.ParseFromString(f.read())
Python字符串可以保存二进制数据,因此SerializeAsString
返回二进制数据。我不是Python程序员,但JavaString有getBytes()
方法。2019年-上述函数现在可以重命名为SerializeToString
(我不知道回答这个问题时它是否真的是SerializeAsString
),添加注释是为了让那些关注的人受益。