在Python中,要获得Google protobuf消息的二进制序列化,您需要首先安装protobuf库,然后使用protoc编译器生成.proto文件的Python代码。以下是一个简单的示例,说明如何获得Google protobuf消息的二进制序列化。
pip install protobuf
example.proto
的.proto文件:syntax = "proto3";
message Person {
string name = 1;
int32 age = 2;
}
protoc --python_out=. example.proto
这将生成一个名为example_pb2.py
的文件,其中包含序列化和反序列化的代码。
import example_pb2
# 创建一个Person消息
person = example_pb2.Person()
person.name = "张三"
person.age = 25
# 序列化Person消息
serialized_person = person.SerializeToString()
print(serialized_person)
这将输出二进制序列化的Person消息。
# 反序列化Person消息
person_copy = example_pb2.Person()
person_copy.ParseFromString(serialized_person)
print(person_copy.name)
print(person_copy.age)
这将输出反序列化后的Person消息的name和age字段。
总结:使用protobuf库和protoc编译器,您可以轻松地在Python中获得Google protobuf消息的二进制序列化。
领取专属 10元无门槛券
手把手带您无忧上云