Google Protocol Buffer( 簡稱 Protobuf) 是 Google 公司內部的混合語言數據標準,目前已經正在使用的有超過 48,162 種報文格式定義和超過 12,183 個 .proto 文件。他們用于 RPC 系統和持續數據存儲系統。
Protocol Buffers 是一種輕便高效的結構化數據存儲格式,可以用于結構化數據串行化,或者說序列化。它很適合做數據存儲或 RPC 數據交換格式。可用于通訊協議、數據存儲等領域的語言無關、平臺無關、可擴展的序列化結構數據格式。目前提供了 C++、Java、Python 三種語言的 API。
例子
https://www.ibm.com/developerworks/cn/linux/l-cn-gpb/index.html
使用Protobuf和C++開發一個簡單的程序。
該程序由兩部分組成。第一部分被稱為 Writer,第二部分叫做 Reader。
Writer 負責將一些結構化的數據寫入一個磁盤文件,Reader 則負責從該磁盤文件中讀取結構化數據并打印到屏幕上。
準備用于演示的結構化數據是 HelloWorld,它包含兩個基本數據:
ID,為一個整數類型的數據
Str,這是一個字符串