Protobuf

From Just Solve the File Format Problem
Revision as of 17:07, 18 October 2018 by Jsummers (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
File Format
Name Protobuf
Ontology
Extension(s) .proto, .pb

Protobuf (Protocol Buffers) is a Google system for serialization of data to/from binary files. It is used by creating data structure definitions (known as "messages", since they define what data is sent or received as a message between processes using this format) in .proto files, which have a syntax resembling programming languages of the C family, and then compiling them using a Protobuf compiler targeting a particular programming language (e.g., C++). This generates library routines which convert data of that particular structure to and from streams of binary data that can be read from and written to files or transmitted over networks. This is faster and more compact than using other popular techniques such as XML. The .pb extension is used for raw binary streams of this format.

Google uses it heavily in its internal protocols and file formats. It is also used (compressed under a variant of Snappy) in the IWA format used by Apple as part of the iWork format used in Pages, Numbers, and Keynote.

Links

Commentary and criticism

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox