ProtoBuf_简介_001

本文介绍了ProtoBuf的基础知识,包括其概述、优势、语法和配置步骤,为初学者提供了一份全面的ProtoBuf入门指南。
摘要由CSDN通过智能技术生成
1. ProtoBuf概述
ProtoBuf(Google Protocol Buffers)是google开发的一套用于数据存储, 网络通信时用于协议编解码的工具库. 它和XML, Json数据类似, 把数据已某种形式保存起来. ProtoBuf与之不同的是, 它是一种二进制的数据格式, 具有更高的传输, 打包和解包效率.
2. ProtoBuf优势
1. 平台无关, 语言无关, 可扩展
2. 提供友好的动态库, 使用简单
3. 解析速度快, 比对应的XML快约20-100倍
4. 序列化数据非常简洁, 紧凑, 与XML相比, 其序列化之后的数据量约为1/3到1/10.
3. ProtoBuf的语法
1. *.proto文件中的数据类型可以分为两大类:
    1. 复合数据类型:枚举, message
    2. 标准数据类型: 整型, 浮点, 字符串等

2. 数据前的修饰词:
    1. required: 必须赋值, 不能为空, 否则该条message会被认为是未被初始化的("uninitialized"). build一条未被初始化的message时会抛出"RuntimeException"异常, 解析一条未被初始化的messages时会抛出"IOException"异常. 除此之外, "required"字段和"optional"字段并无差别.
    2. optional: 可以赋值, 也可以不赋值, 假如不赋值的话, 会被赋默认值.
    3. repeated: 可以重复任意次数, 包括0次. 重复数据的顺序将会保存在protobuf中, 将这个字段想象为一个可以自动设置size的数组. 

3. 每个字段要给数字:
    该Number是用来标记该字段在序列化后的二进制数据中所在的filed, 每个字段的Number在message内部都
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值