本文檔的 Protocol Buffer 的中文文檔使用的是 Asciidoctor 進行編排的
http://docs.ossez.com/protocol-buffers-docs/index.html(本 WIKI 中的内容将會與線上釋出的版本同步)
Google Protocol Buffer( 簡稱 Protobuf) 是 Google 公司内部的混合語言資料标準,目前已經正在使用的有超過 48,162 種封包格式定義和超過 12,183 個 .proto 檔案。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicWZwpmL2AjNmlDZkZDN4kjZlJWYxAzY2UjM4IGN2ImMhFTM1ADZwUjMiN2N18CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.jpeg)
如果你在網際網路上搜尋的話,你可能會看到下面的說明文字。
他們用于 RPC 系統和持續資料存儲系統。
Protocol Buffers 是一種輕便高效的結構化資料存儲格式,可以用于結構化資料串行化,或者說序列化。
它很适合做資料存儲或 RPC 資料交換格式。可用于通訊協定、資料存儲等領域的語言無關、平台無關、可擴充的序列化結構資料格式。
目前提供了 C++、Java、Python 三種語言的 API。
我們是在實際的資料處理的時候,需要使用 JSON 來序列化資料,但是又考慮到 JSON 在傳輸的時候資料過大,同時還有很多并不需要的垃圾檔案。我們才考慮到了 Protocol Buffer 提供的功能。
資料序列化和反序列化
序列化: 将資料結構或對象轉換成二進制串的過程。
反序列化:将在序列化過程中所生成的二進制串轉換成資料結構或者對象的過程。