![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
《开发》ProtoBuf
文章平均质量分 87
Yngz_Miao
这个作者很懒,什么都没留下…
展开
-
【Protobuf】Protobuf的编解码规则详解
在很多很多时候被问起,为什么选择protobuf?最先被想起的回答的就是体积小、解析快。那相比较于json、XML,为什么protobuf能够做到又小又快呢?归其原因,这与它的编解码方式有很大的关系。本文将走进protobuf的深层原理来进行剖析。实例本文针对实际的例子,来对protobuf的编解码方式进行详细讲解。其中,.proto文件定义如下:syntax = "proto2";...原创 2019-12-30 21:06:08 · 15831 阅读 · 3 评论 -
【Protobuf】Protobuf的C++/python版本的使用
上一篇博文讲解了protobuf的安装和.proto文件的定义,并且可以生成C++版本的.cc和.h文件,python的.py文件。那么本文就利用生成的这些数据访问类,进行对象的序列化和反序列化。上篇博文地址:.proto文件定义syntax = "proto2";enum PhoneType { MOBILE = 0; HOME = 1; WORK = 2;...原创 2019-12-28 09:53:43 · 6300 阅读 · 2 评论 -
【Protobuf】Protobuf下载安装和.proto文件定义
序列化和反序列化有些时候,我们希望将对象保存到文件中,或者传输给其他的应用程序。比如:web网页后端和前端的数据交互,应用程序产生的中间数据等等。这种将数据结构或对象以某种格式转化为字节流的过程,称之为序列化(Serialization),目的是把当前的状态保存下来,在需要时复原数据结构或对象(序列化时不包含与对象相关联的函数,所以后面只提数据结构)。反序列化(Deserialization)...原创 2019-12-25 19:00:53 · 15746 阅读 · 2 评论 -
【Protobuf】proto通用二进制文件的生成与解析(C++/Python,附完整源码)
protobuf是Google开源的一个跨平台的结构化数据存储格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。前言说起proto的用法,可能最熟悉的莫过于以下两句:obj.ParseFromString(data)data = obj.SerializeToString()其中,obj是proto中message的实例对象,data是序列化之后的...原创 2019-09-29 11:27:41 · 27749 阅读 · 0 评论