Protobuf 为啥比 JSON、XML 牛


今天 。我带大家更深层次的认识认识 Protobuf 。如果你对 Protobuf 的用法还不熟悉 。直接前往:developers.google.com/protocol-bu… 。
当对 Protobuf 有了基本的认识后 。就会明白了 Protobuf 序列化的数据会比 JSON、XML 传输效率更高 。
那为啥会高呢?本篇就带着这个问题一探究竟 。
看表面对于 JSON、XML 。为了便于数据传输时的可阅读性 。会保留数据的结构化信息 。举个 JSON 例子 。如下:
{"name": "laomiao","age": 18}复制代码当发送该信息时 。接受方收到后就会明白 。这是个 “key/value” 形式的数据 。并且”name” 后是姓名 。”age” 后是年龄 。
那如何压缩该数据呢?
我们可以删除 “花括号”、“name”、“age” 以及其它的 “冒号”、“逗号”、“引号” 等结构数据 。
laomiao18复制代码那这样删除了 。接收方怎么知道 。哪个是姓名?哪个是年龄?
删除 ”结构“只需要发送方和接收方都保留这份数据的 ”结构“ 就行 。发送方只发送数据 。接收方接收到数据后 。根据本地保留的 ”结构“ 去解析数据就 OK 。
假设 。该 “结构” 如下 。这不是真实存在的 。只是为了方便给大家描述 。
{name string 7age int 1}复制代码【Protobuf 为啥比 JSON、XML 牛】通过该 ”结构“ 就可以知道:

    推荐阅读