Python API用于解析包含数组格式的protobuf数据的二进制文件
Python API to parse binary file which contains protobuf data in array format
我在解析包含数组格式的 protobuf 数据的二进制文件时遇到问题。
当我使用 python API 时,ParseFromString 输出总是零或无。
二进制文件中序列化的protobuf
数据是使用 APISerializeToArray
C++ 生成的。但是要解析 bin 文件,我想使用 python 进行解析。但是在python中,我找不到任何API来将序列化的protobuf
数据解析为二进制文件中的数组。
是否有任何python API可以解决此问题?任何人都可以为此提出解决方案吗?
C++ 接口:
bool SerializeToArray(void * data, int size) const
只是将二进制数据存储到字节数组中,而不是字符串对象中。如果随后将其写入文件,则可以以正常方式对其进行反序列化,如教程所示:
address_book = addressbook_pb2.AddressBook()
f = open(sys.argv[1], "rb")
address_book.ParseFromString(f.read())
C++端使用SerializeToArray()
的事实不会更改文件的格式。当然,C++代码可以例如将自定义标头写入需要删除的文件,但这将是代码的不同部分。
相关文章:
- 如何在openssl-ecc中获取十六进制格式的私钥
- 将"打开的CV图像"中的"颜色"转换为整数格式
- TDateTime格式在C++Builder中不会更改
- 如何防止clang格式在流运算符调用之间添加换行符<<
- 检查不带转换的扫描格式
- 当我尝试使用 sstream 和分面将 Boost Time_duration转换为字符串时,我没有得到所需的格式
- 是否可以从格式字符串中检索"width"
- clang格式:宏的缩进
- clang格式:禁用排序包含
- 在用于格式4的arm模拟器中实现功能时的一个问题
- 将RGB图像保存为PPM格式
- 询问在设计我的手臂模拟器功能表示格式1
- 当使用比格式支持的精度更高的精度来显示数字时,会写出什么数据
- 带有Protobuf序列化的C++Hazelcast:字符串不是UTF-8格式的
- 如何将strftime中的格式错误作为异常捕获
- 将CHW格式的浮点向量转换为cv::Mat
- 如何将二进制格式的 C++ 对象的 std::vector 保存到磁盘?
- Python API用于解析包含数组格式的protobuf数据的二进制文件
- protobuf与rapidjson数据格式
- 如何在解析文本格式的 protobuf 消息时忽略错误的字段