
Windows下的安装
编译器下载地址:https://github.com/protocolbuffers/protobuf/releases <img src"../img/image20250117135559765.png" alt"image20250117135559765" style"zoom:50%;" / 下载之后将压缩包解压到本地目录下。解压后的文件内包含 bin、include...

编译器下载地址:https://github.com/protocolbuffers/protobuf/releases <img src"../img/image20250117135559765.png" alt"image20250117135559765" style"zoom:50%;" / 下载之后将压缩包解压到本地目录下。解压后的文件内包含 bin、include...

反序列化消息时,如果被反序列化的二进制序列中不包含某个字段,反序列化对象中相应字段时,就会设置为该字段的默认值。不同的类型对应的默认值不同: 对于字符串,默认值为空字符串 对于字节,默认值为空字节 对于布尔值,默认值为 false 对于数值类型,默认值为 0 对于枚举,默认值是第一个定义的枚举值, 必须为 0 对于消息字段,未设置该字段。它的取值是依赖于语言 对...

在 .proto 文件中枚举类型的书写规范为: 枚举类型名称:使用驼峰命名法,首字母大写。 例如: MyEnum 枚举内常量值名称:全大写字母,多个字母之间用 连接。例如: ENUMCONST 0; 我们可以定义一个名为 PhoneType 的枚举类型,定义如下: 要注意枚举类型的定义有以下几种规则: 1. 0 值常量必须存在,且要作为第一...

在语法详解部分,依旧使用 项目推进 的方式完成教学。这个部分会对通讯录进行多次升级,使用 2.x 表示升级的版本,最终将会升级如下内容: 不再打印联系⼈的序列化结果,⽽是将通讯录序列化后并写⼊⽂件中。 从⽂件中将通讯录解析出来,并进⾏打印。 新增联系⼈属性,共包括:姓名、年龄、电话信息、地址、其他联系⽅式、备注。 消息的字段可以用下面几种规则来修饰: singular:消息中可以包含该...
在快速上手中,会编写第一版本的通讯录 1.0。在通讯录 1.0 版本中,将实现: 对⼀个联系⼈的信息使⽤ PB 进⾏序列化,并将结果打印出来。 对序列化后的内容使⽤ PB 进⾏反序列,解析出联系⼈信息并打印出来。 联系⼈包含以下信息: 姓名、年龄。 通过通讯录 1.0,我们便能了解使⽤ ProtoBuf 初步要掌握的内容,以及体验到 ProtoBuf 的完整使用流程。 下面先给出通讯录 ...

序列化:将对象转换为字节序列的过程 反序列化:将字节序列恢复为对象的过程 下面举两个例子: 1. 存储数据:当你想把的内存中的对象状态保存到⼀个⽂件中或者存到数据库中时,就需要进行序列化操作。 2. 网络传输:网络可以直接传输数据,但是⽆法直接传输对象,所以要在传输前序列化,传输完成后反序列化成对象,例如我们之前学习过 socket 编程中发送与接收数据。 Json XML ProtoBu...