GitHub仓库地址:https://github.com/protocolbuffers/protobuf
Google文档:https://developers.google.com/protocol-buffers/
https://docs.qq.com/doc/DV2t5TWhvZ21Eend6
GitHub release页面下载:
将win64解压,bin目录添加进入环境变量,可以使用protoc.exe来生成相关类
解压protobuf-python-3.20.1.zip,进入其python目录
运行命令
python setup.py build python setup.py install
安装成功后可以正常导入 import google.protobuf
编写proto文件
syntax = "proto3";
message msg{
string sign = 3;
}
命令来编译
protoc –python_out=. yrx.proto
会生成yrx_pb2.py
之后编写序列化代码
import yrx_pb2
def write():
msg = yrx_pb2.msg()
msg.sign = "24012a9b6a812b96"
result = msg.SerializeToString()
print("encode: ",result)
with open("pro.bin", "wb") as f:
f.write(result)
def read():
result = 0
with open("pro.bin", "rb") as f:
result = f.read()
msgb = yrx_pb2.msg()
msgb.ParseFromString(result)
print("decode: ",msgb.sign)
write()
read()
运行结果
encode: b'x1ax1024012a9b6a812b96' decode: 24012a9b6a812b96



