admin管理员组文章数量:1130349
初始ProtoBuf
序列化和反序列化的概念
序列化:把对象转换为字节序列的过程 称为对象的序列化。 反序列化:把字节序列恢复为对象的过程 称为对象的反序列化。什么情况下需要序列化和反序列化?
存储数据:当你想把的内存中的对象状态保存到⼀个⽂件中或者存到数据库中时。 ⽹络传输:⽹络直接传输数据,但是⽆法直接传输对象,所以要在传输前序列化,传输完成后反 序列化成对象。例如我们之前学习过 socket 编程中发送与接收数据。我们之前在学习HTTP阶段简单使用过json来进行序列化和反序列化操作,除了json还有XML和这里要介绍的ProtoBuf。
ProtoBuf的优点:
1.语言无关性,跨平台 :即支持多种语言和平台
2.高效性。比XML更小,更快,更为简单。
3.扩展性,兼容性好。你可以更新数据结构,⽽不影响和破坏原有的旧程序。
ProtoBuf支持的语言:
ProtoBuf使用特点
1. 编写 .proto ⽂件,⽬的是为了定义结构对象(message)及属性内容。 2. 使⽤ protoc 编译器编译 .proto ⽂件,⽣成⼀系列接⼝代码,存放在新⽣成头⽂件和源⽂件中。如果我们使用的是C++,那么就会生成.h和文件
3. 依赖⽣成的接⼝,将编译⽣成的头⽂件包含进我们的代码中,实现对 .proto ⽂件中定义的字段进⾏ 设置和获取,和对 message 对象进⾏序列化和反序列化。总的来说:ProtoBuf 是
初始ProtoBuf
序列化和反序列化的概念
序列化:把对象转换为字节序列的过程 称为对象的序列化。 反序列化:把字节序列恢复为对象的过程 称为对象的反序列化。什么情况下需要序列化和反序列化?
存储数据:当你想把的内存中的对象状态保存到⼀个⽂件中或者存到数据库中时。 ⽹络传输:⽹络直接传输数据,但是⽆法直接传输对象,所以要在传输前序列化,传输完成后反 序列化成对象。例如我们之前学习过 socket 编程中发送与接收数据。我们之前在学习HTTP阶段简单使用过json来进行序列化和反序列化操作,除了json还有XML和这里要介绍的ProtoBuf。
ProtoBuf的优点:
1.语言无关性,跨平台 :即支持多种语言和平台
2.高效性。比XML更小,更快,更为简单。
3.扩展性,兼容性好。你可以更新数据结构,⽽不影响和破坏原有的旧程序。
ProtoBuf支持的语言:
ProtoBuf使用特点
1. 编写 .proto ⽂件,⽬的是为了定义结构对象(message)及属性内容。 2. 使⽤ protoc 编译器编译 .proto ⽂件,⽣成⼀系列接⼝代码,存放在新⽣成头⽂件和源⽂件中。如果我们使用的是C++,那么就会生成.h和文件
3. 依赖⽣成的接⼝,将编译⽣成的头⽂件包含进我们的代码中,实现对 .proto ⽂件中定义的字段进⾏ 设置和获取,和对 message 对象进⾏序列化和反序列化。总的来说:ProtoBuf 是
版权声明:本文标题:初识ProtoBuf以及环境搭建(Win和Ubuntu) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://it.en369.cn/jiaocheng/1763645492a2950880.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。


发表评论