Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/125.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python API解析二进制文件,该文件包含数组格式的protobuf数据_Python_C++_Protocol Buffers_Binaryfiles_Protobuf C - Fatal编程技术网

Python API解析二进制文件,该文件包含数组格式的protobuf数据

Python API解析二进制文件,该文件包含数组格式的protobuf数据,python,c++,protocol-buffers,binaryfiles,protobuf-c,Python,C++,Protocol Buffers,Binaryfiles,Protobuf C,我在解析包含数组格式protobuf数据的二进制文件时遇到问题 当我使用python API时,ParseFromString输出总是为零或无 串行化的二进制文件中的原Buff/数据是使用C++ API、序列化数组> 生成的。但是为了解析bin文件,我想使用python进行解析。但在python中,我找不到任何API将序列化的protobuf数据解析为二进制文件中的数组 是否有任何python API来解决此问题?有人能提出一个解决方案吗?< /P> < P> C++接口: bool Seria

我在解析包含数组格式protobuf数据的二进制文件时遇到问题

当我使用python API时,ParseFromString输出总是为零或无

串行化的<代码>二进制文件中的原Buff/<代码>数据是使用C++ API、<代码>序列化数组> <代码>生成的。但是为了解析bin文件,我想使用python进行解析。但在python中,我找不到任何API将序列化的

protobuf
数据解析为二进制文件中的数组

是否有任何python API来解决此问题?有人能提出一个解决方案吗?< /P> < P> C++接口:

bool SerializeToArray(void * data, int size) const
只需将二进制数据存储到字节数组中,而不是字符串对象。如果随后将其写入文件,则可以按正常方式对其进行反序列化,如所示:

< C++ > C++中使用的SerialZeTrayAudio()/Cuff>不改变文件的格式。当然,C++代码可以将一个自定义的头写到需要删除的文件中,但是这将是代码的一个不同部分。
address_book = addressbook_pb2.AddressBook()
f = open(sys.argv[1], "rb")
address_book.ParseFromString(f.read())