当前位置: 首页 > news >正文

初识Protobuf

文章目录

  • 1.序列化的概念
  • 2. 什么是Protobuf
  • 3. PB 的特点
  • 4.PB的使用特点

1.序列化的概念

序列化:把对象转换为字节序列的过程
反序列化:把字节序列恢复成对象的过程

什么时候需要序列化?

  1. 把内存中的对象保存到文件或数据库中时
  2. 网络传输数据,无法直接传输对象,先把对象序列化,传输后反序列化成对象。

如何实现?
JSON、XML、ProtoBuf

常见场景:
在这里插入图片描述
序列化:声音信号–》光、电信号; 对象–》二进制序列;
反序列化:光、电信号–》声音;二进制序列—》对象

2. 什么是Protobuf

protobuf是将结构化的数据进行序列化的一种方式

3. PB 的特点

  1. 语言无关、平台无关:支持Java、C++、python等多种语言
  2. 高效:比XML、json更小更快更简单
  3. 扩展性、兼容性好:可以更新数据结构而不影响和破坏原有的旧程序

4.PB的使用特点

在这里插入图片描述

  1. 编写 .proto 文件,目的是为了定义结构对象(message)及属性内容。
  2. 使用 protoc 编译器编译 .proto 文件,生成一系列接口代码,存放在新生成头文件和源文件中。
  3. 依赖生成的接口,将编译生成的头文件包含进我们的代码中,实现对 .proto 文件中定义的字段进行设置和获取,和对 message 对象进行序列化和反序列化。

总的来说:ProtoBuf 是需要依赖通过编译生成的头文件和源文件来使用的。

就是说protobuf不能直接被我们的业务代码使用,而是先通过编译工具(protoc)处理.proto文件(手动编写.proto文件,定义需要处理的数据结构),生成特定的头文件、源文件后,业务代码再包含这些生成的文件,然后就能调用生成文件中的方法实现序列化/反序列化 。

http://www.dtcms.com/a/446415.html

相关文章:

  • 网站排名首页前三位什么网站百度收录好
  • 现在做什么网站好易搭应用快速开发平台
  • 站长之家商城佛山网站建设十年乐云seo
  • 网站挂黑链工具适合做网站开发的电脑配置
  • 美食网站设计规划书分类网站建设与开发
  • 做网站代理需要办什么营业执照大型手机网站制作
  • 深入理解CAS
  • 响应式网站开发方法系统首页设计
  • 华清远见25072班C++学习假期10.5作业
  • 【系统分析师】2024年下半年真题:综合知识-答案及详解(回忆版)
  • 网站代码的重点内容是什么wordpress 批量建站
  • 密码学系列 - 零知识证明(ZKP) - NTT运算
  • 商城网站建设明细自己弄个网站怎么赚钱
  • Android 系统下 getevent 工具
  • 学院网站建设方案软件开发自学入门教程
  • Deflate在线解压工具(支持无zlib头)
  • win7下winlogon.exe调试记录
  • 网站 做 app开发wordpress插件开发
  • 昆明做网站哪家便宜怎么让付费网站免费
  • 《C++进阶之C++11》【智能指针】(下)
  • 桐城网站定制软件开发的学校有哪些
  • 海南省工程建设定额网站简单网站首页
  • K230基础-特征检测
  • 宁波网站建设内容深圳网站开发建设服务公司
  • CTFHub 信息泄露通关笔记11:HG泄露(4种方法)
  • 网站采用什么方法建设wordpress获取文章信息
  • 上海网站建设公司招聘wordpress用手机写博客
  • 网站为什么要更新wordpress保护插件
  • Maixcam学习笔记-寻址色块和直线
  • 您正在 GUI 下运行 Fcitx,但是 fcitx-config-qt 未被找到。该软件包名称通常为 fcitx5-configtool。现在将打开配置目录