4.1 简介

Google Protocol Buffer(简称 Protobuf)是google旗下的一款轻便高效的结构化数据存储格式,平台无关、语言无关、可扩展,可用于通讯协议和数据存储等领域。所以很适合用做数据存储和作为不同应用,不同语言之间相互通信的数据交换格式,只要实现相同的协议格式即同一 proto文件被编译成不同的语言版本,加入到各自的工程中去。这样不同语言就可以解析其他语言通过 protobuf序列化的数据。目前官网提供了 C++,Python,JAVA,GO等语言的支持。google在2008年7月7号将其作为开源项目对外公布。

tips:

  • 啥叫平台无关?Linux、mac和Windows都可以用,32位系统,64位系统通吃

  • 啥叫语言无关?C++、Java、Python、Golang语言编写的程序都可以用,而且可以相互通信

  • 那啥叫可扩展呢?就是这个数据格式可以方便的增删一部分字段啦~

  • 最后,啥叫序列化啊?解释得通俗点儿就是把复杂的结构体数据按照一定的规则编码成一个字节切片