iretype
PB消息经过序列化后会成为一个二进制数据流,该流中的数据为一系列的 Key-Value 对。
(4)Repeated
对于proto文件中的repeated类型,数据序列化之后,会产生一组相同的Key序列。解码时,只要依次读取,发现Key一样就可认为是repeated,直到读到不一样的key或者读完。
四.proto文件格式
最主要的是由 消息(Message) 组成。
消息由至少一个字段组合而成。
字段格式:限定修饰符 | 数据类型 | 字段名称 = 字段编码值 | 字段默认值
消息中的字段的编码值无需连续,只要是合法的,并且不能在同一个消息中有字段包含相同的编码值
举个例子,看下图
实战代码中使用proto
五.pb、xml、json对比
针对同一段数据name:AJ,age:18,job:student ,看看三种传输中的数据格式
// pb
<Buffer 00 00 00 00 08 ef 94 d2 09 12 0a 77 77 77 2e 61 6a 2e 63 6f 6d 1a 0b 67 65 74 55 73 65 72 49 6e 66 6f 22 26 7b 22 6e 61 6d 65 22 3a 22 41 4a 22 2c 22 ... 24 more bytes>
// xml
<user name="AJ" age="18" job="student" />
// json
"name": "AJ",
"age": "18",
"job": "student"
六.实战
实战主要使用 protobufjs 即可,非常的丝滑!!!