protobuf
文章平均质量分 54
zhang-guojun
这个作者很懒,什么都没留下…
展开
-
nanopb的使用
本blog记录nanopb使用过程1. 安装protobuf(略)2. 安装protobuf for python 库。进入protobuf-2.5.0/python目录执行:python setup.py buildpython setup.py testpython setup.py install3.产生代码protoc -omessa原创 2013-08-03 13:56:23 · 5588 阅读 · 0 评论 -
protobuf协议语言指南
Protobuf语言指南l 定义一个消息(message)类型l 标量值类型l Optional 的字段及默认值l 枚举l 使用其他消息类型l 嵌套类型l 更新一个消息类型l 扩展l 包(package)l 定义服务(service)l 选项(option)l 生成访问类转载 2013-12-08 11:54:13 · 810 阅读 · 0 评论 -
protobuf encode format
protobuf 的编码格式依次为 tag+data1)tagtag为可最长32位的可变长度数据,低3位为wire type,例如PB_WT_32BIT,PB_WT_STRING。其余高位为tag值。2)data如果wire type为固定长度的数据,数据段即为数据。如果wire type为可变长度的数据,数据段格式为长度+数据。例如string,bytes,s原创 2014-02-03 10:59:59 · 2359 阅读 · 0 评论 -
Protobuf数据编码规则
ProtoBuf编码基础:——Varints, varints是一种将一个整数序列化为一个或者多个Bytes的方法,越小的整数,使用的Bytes越少。Varints的基本规则是: 每个Byte的最高位(msb)是标志位,如果该位为1,表示该Byte后面还有其它Byte,如果该位为0,表示该Byte是最后一个Byte。每个Byte的低7位是用来存数值的位Varints方法用Litte-E转载 2015-08-18 10:45:16 · 1537 阅读 · 0 评论 -
Why Protocol Buffer So Fast? ----protobuf编码详解
prtotocol buffer是google于2008年开源的一款非常优秀的序列化反序列化工具,它最突出的特点是轻便简介,而且有很多语言的接口(官方的支持C++,Java,Python,C,以及第三方的Erlang, Perl等)。本文从protobuf如何将特定结构体序列化为二进制流的角度,看看为什么Protobuf如此之快。一,示例从例子入手是学习一门新工具的最佳方法。下面我转载 2015-08-18 12:11:47 · 680 阅读 · 0 评论 -
Protocol Buffers编码详解,例子,图解
Protocol Buffers编码详解,例子,图解本文不是让你掌握protobuf的使用,而是以超级细致的例子的方式分析protobuf的编码设计。通过此文你可以了解protobuf的数据压缩能力来自什么地方,版本兼容如何做到的,其Key-Value编码的设计思路。如果你详细了解此文,你应该就能具备自己造一套编解码轮子的能力(至少基本思路)。测试的例子阅读图片时请对比前面的例转载 2015-08-18 12:22:08 · 1468 阅读 · 0 评论