文档章节

protocol buffers入门基础知识(一)

Cobbage
 Cobbage
发布于 2018/10/01 20:35
字数 376
阅读 14
收藏 1
  1. protocol buffers简介 下载地址
[Google Protocol Buffer](https://github.com/protocolbuffers/protobuf "Google Protocol Buffer")(简称 Protobuf)是一种轻便高效的结构化数据存储格式,一个灵活的、高效的、自动化的用于对结构化数据进行序列化的协议。

2.protocol buffers优势

与xml比较
1. 更简单
2. 数据描述文件只需原来的1/10至1/3
3. 解析速度是原来的20倍至100倍
4. 减少了二义性
5. 生成了更容易在编程中使用的数据访问类

与json比较
Json有一定结构的在数据量上还有可以压缩的空间。
pb则是序列化的二进制编码数据,而且数据的格式是事先通过一个后缀名为.proto的文件指定
省去JSON编解码体系中属性匹配和数据类型匹配的时间和精力,让我们能专注于解决自己的问题。

可读性上xml、json可读性强

3.Protocol Buffers 3.0 技术手册

4.一个pb的demo

syntax = "proto3";
package tutorial; 
option java_package = "com.example.tutorial";
option java_outer_classname = "AddressBookProtos";
message Person {
  string name = 1;
  int32 id = 2;
  string email = 3;
 enum PhoneType { 
  MOBILE = 0; 
  HOME = 1;
  WORK = 2;
  }
 message PhoneNumber {
  string number = 1;
  PhoneType type = 2; 
 } 
 repeated PhoneNumber phone = 4; 
 } 
 message AddressBook {
 repeated  Person person = 1;
 }

执行编译命令生成文件

© 著作权归作者所有

共有 人打赏支持
Cobbage

Cobbage

粉丝 51
博文 146
码字总数 73307
作品 1
闵行
QA/测试工程师
私信 提问
使用 Protocol Buffers 代替 JSON 的五个原因

在Ruby和Rails开发者中,面向服务(Service-Oriented)架构有一个当之无愧的名声,它是一个缓解程序规模恶性增长的一个强有力的途径,可在大量应用程序中提取关注点。这些新生小巧的服务通常继...

李三石
2014/07/07
54.3K
67
Google Protocol Buffers 概述

个人小站,正在持续整理中,欢迎访问:http://shitouer.cn 小站博文地址:Google Protocol Buffers 概述 推荐阅读顺序,希望给你带来收获~ 《Google Protocol Buffers 概述》 《Google Protocol...

SibylY
2016/04/14
167
0
在 Android 应用程序中使用 Internet 数据(XML,JSON,Protocol Bu

Android 应用程序必须访问位于 Internet 上的数据,而 Internet 数据可以有几种不同的格式。本文将介绍在 Android 应用程序中如何使用三种数据格式: XML JSON Google 的 protocol buffers 首...

红薯
2010/08/08
3.8K
4
Protocol Buffers在windwos下生成对应语言类文件

1:windows下开发,下载源码包和windows下的编译器 https://developers.google.com/protocol-buffers/docs/downloads 下载 Protocol Buffers 2.6.1 full source和 Protocol Compiler 2.6.1 ......

伊人梦醉
2015/12/29
309
0
Protocol Buffers Editor 95c 发布

Protocol Buffers Editor 95c 发布,该版本增加对 Protocol Buffers 扩展的支持。 Protocol Buffers Editor 是一个用来查看和编辑 Google 的 Protocol Buffers 的二进制文件的工具。 Protoc...

oschina
2014/06/11
1K
5

没有更多内容

加载失败,请刷新页面

加载更多

小程序-星星评分

//UI界面 <block wx:for='{{item.rateArray}}' wx:key wx:for-item="i" > <image wx:if='{{ i==0}}' src='../../assets/xing4.png'></image> <image wx:if='{{ i==1}}' src='../../assets/xi......

lsy999
29分钟前
1
0
JavaScript与WebAssembly进行比较

本文由云+社区发表 作者:QQ音乐前端团队 在识别和描述核心元素的过程中,我们分享了构建SessionStack时使用的一些经验法则,这是一个轻量级但健壮且高性能的JavaScript应用程序,以帮助用户...

腾讯云加社区
31分钟前
4
0
如何设计一个 RPC 系统

RPC是一种方便的网络通信编程模型,由于和编程语言的高度结合,大大减少了处理网络数据的复杂度,让代码可读性也有可观的提高。但是RPC本身的构成却比较复杂,由于受到编程语言、网络模型、使...

编程SHA
32分钟前
2
0
API权限控制与安全管理

一、API权限控制范围 1、首先验证web端请求参数: (1)web请求参数:渠道、ServiceName、版本、Airline、时间戳(yyyyMMddhhmmssSSS)、reqXML、Language、签名 (2)请求不能为空,并且格式...

Jack088
32分钟前
2
0
最热门的13个Java微服务框架

曾经的服务器领域有许多不同的芯片架构和操作系统,经过长期发展,Java的“一次编译,到处运行”使得它在服务器领域找到一席之地,成为程序员们的最爱 本文,我们将和大家分享13个可靠的Jav...

java菜分享
33分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部