1、Protocol Buffer是处理结构化数据(拥有多种属性的数据)的工具。除了Protocol Buffer, XML和JSON也是处理结构化数据的常用工具。
2、要将结构化数据持久化或进行网络传输,需要先将它们序列化,即将结构化数据变成二进制数据流的格式,简单说就是变为一个字符串。Protocol Buffer可以将“结构化数据”和“序列化数据”相互转化。将“序列化数据”进行还原,需先定义数据格式(schema)。Protocol Buffer序列化的数据,比XML格式的数据小3到10倍,解析快20到100倍。
3、例
message user {
optional string name = 1;
required int32 id = 2;
repeated string email = 3;
}
(1)message代表一个结构化的数据。
(2)① required(必要的)表示这个message的所有实例都要有这个属性,即非空;
② optional (可选的)这个属性的取值可以为空;
③ repeated (可重复的)该属性的取值可以是一个列表。
(3)数据类型可以是 布尔型、整数型、实数型、字符型或message型。