优点:编码占空间少;编解码速度快;跨语言; 版本兼容性好;(在官网上描述ProtoBuf比XML小3到10倍,快20到100倍)
缺点:二进制编码,可读性差;
步骤:
1. 写一个HelloWorld.proto,定义自己的类型;
2. 调用protoc编译,生成相应的HelloWorld.pb.h和HelloWorld.pb.cc文件;
3. #include "HelloWorld.pb.h",然后调用该对象的get和set对字段操作,调SerializeToArray等进行序列化,调ParseFromArray等进行反序列化;
小而快的原因:使用了高效的二进制编码;使用Varint来用变长字节表示整数;Key是字段ID和编码类型,Value是数据;
版本兼容性好(一端新加字段另一端老版本可以忽略之):编码里用字段ID表示字段;