Protobuf
文章平均质量分 93
protobuf学习路程
程序员里程碑
记录编程学习之路
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Protobuf总结
Protobuf快速入门指南 本文总结了Protobuf的核心知识点和学习路径: 核心概念:序列化、反序列化、.proto文件 核心流程:编写.proto→编译→调用API 关键规则:字段编号、命名规范、版本兼容 高级类型:repeated数组、oneof二选一、map键值对 学习路径:从环境搭建到基础语法,再到高级用法和实战项目。建议从通讯录项目入手,逐步掌握复杂场景应用。 常见问题:环境配置、字段编号重复、类型错误等,提供了具体解决方案。 Protobuf学习重在实践,多练习就能掌握这个高效的数据交换工原创 2026-04-09 22:21:05 · 380 阅读 · 0 评论 -
Protobuf vs JSON vs XML:小白该怎么选?
本文对比分析了三种主流数据格式Protobuf、JSON和XML的特性与适用场景。Protobuf作为二进制格式,具有体积小、速度快、跨语言兼容性强的优势,适合后台通信和高性能场景;JSON语法简单、可读性好,是前后端交互的首选;XML结构严谨但冗余多,主要用于传统系统。文章提供了三种调试Protobuf二进制数据的方法(protoc工具、代码打印、在线解析),并针对不同开发场景给出了选择建议:性能优先选Protobuf,简单通用选JSON,老系统维护选XML。通过实战案例和对比表格,帮助开发者快速掌握各格原创 2026-04-09 22:20:48 · 422 阅读 · 0 评论 -
Protobuf版本兼容:3条铁律搞定升级
本文介绍了Protobuf实现版本兼容的核心规则:1)字段编号不可更改;2)新增字段使用新编号;3)删除字段需保留编号。通过保留字段编号和合理新增字段,确保新旧程序能互相解析数据。文中还说明了兼容的字段类型转换(如整数与布尔值互换),并给出实际升级案例演示兼容效果。遵循这些规则可让Protobuf协议在迭代中无缝升级,新旧版本程序互不影响。原创 2026-04-01 15:50:35 · 380 阅读 · 0 评论 -
Protobuf 版本兼容性核心:默认值与消息体更新规则
摘要 Protobuf的版本兼容性依赖于字段默认值规则和消息体更新规则。字段默认值确保反序列化时缺失字段自动补零值;消息体更新需遵循8大准则,如禁止修改字段编号、移除字段时保留编号、兼容类型转换等。通过reserved关键字保留废弃字段编号/名称可避免冲突,而Proto3.5+的未知字段保留机制进一步增强了多版本兼容性。最佳实践包括优先使用小编号、类型兼容修改、移除字段时显式保留,并通过兼容性测试验证更新安全性。原创 2026-04-01 15:50:20 · 533 阅读 · 0 评论 -
Proto3 三大高级类型:Any、Oneof、Map 灵活解决复杂业务场景
本文详细介绍了Protobuf三大高级类型的使用方法:1. Any类型作为泛型字段,可存储任意消息体,需通过PackFrom/UnpackTo方法转换;2. Oneof类型实现多选一字段,仅允许一个子字段生效,适合互斥场景;3. Map类型提供键值对存储,支持灵活的数据关联。文章结合通讯录案例,展示了如何为联系人添加动态地址信息(Any)、二选一联系方式(Oneof)和键值对备注(Map),并提供了C++操作示例。这些高级类型使协议定义更灵活,能更好满足复杂业务需求。原创 2026-03-28 14:21:18 · 766 阅读 · 1 评论 -
Proto3 高级语法:重复字段、嵌套消息与枚举类型实战
本文深入讲解Protobuf3的高级语法,重点介绍了三种复杂字段类型的定义与使用:1)repeated关键字实现重复字段(类似数组);2)嵌套消息体定义结构化子对象;3)enum枚举类型规范字段取值。通过通讯录场景实战,展示了如何定义包含多个联系人、每个联系人含多个电话号码(含类型枚举)的复杂消息体。文章详细解析了编译后生成的C++操作方法,并强调repeated字段顺序保留、枚举必须0值开头等关键注意事项,为处理实际业务中的复杂数据结构提供了完整解决方案。原创 2026-03-28 14:21:03 · 371 阅读 · 2 评论 -
Protobuf 环境搭建:Windows 与 Linux 系统安装教程
本文详细介绍了Protocol Buffers(Protobuf)编译器在Windows和Linux系统下的安装配置方法。针对Windows系统,重点讲解了解压安装包、配置环境变量及验证安装的步骤;对于Linux系统,则详细说明了依赖库安装、源码编译、环境变量配置等关键环节,特别提供了编译验证报错的解决方案。文章以稳定版本v21.11为例,强调了版本匹配、路径设置等注意事项,确保开发者能顺利完成protoc编译器的安装,为后续使用Protobuf进行开发奠定基础。原创 2026-03-28 14:20:49 · 566 阅读 · 1 评论 -
Protocol Buffer 入门:跨平台的高效序列化神器
本文介绍了Google开发的Protocol Buffer(Protobuf)数据序列化工具。与XML/JSON相比,Protobuf采用二进制编码,具有体积小(节省带宽)、速度快(效率高2-4倍)、兼容性强(支持无缝扩展)三大优势。文章阐述了Protobuf在网络传输和数据存储中的核心应用场景,详细说明了其使用流程:编写.proto文件→编译生成代码→业务开发。通过对比表格展示了Protobuf与JSON/XML的关键差异,推荐新项目采用更简洁的proto3版本。后续将介绍Protobuf的环境搭建步骤,原创 2026-03-28 14:20:31 · 382 阅读 · 0 评论 -
Proto3 基础语法:手把手教你编写第一个.proto 文件
本文详细介绍了Protocol Buffers(Protobuf)的proto3语法规范,主要包含以下内容:1.基础规范:文件命名采用蛇形命名法,代码缩进使用2个空格;2.核心声明:必须指定语法版本(syntax="proto3")和可选包名(package);3.消息体定义:使用驼峰命名法,字段需包含类型、名称和唯一编号;4.字段规则:编号范围1-536870911,19000-19999为保留范围;5.数据类型:介绍了常用标量类型及其适用场景;6.编译命令:以C++为例演示proto原创 2026-03-26 19:25:26 · 675 阅读 · 0 评论
分享