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