&gt; What about Protobuf?<p>For what they are, I quite like protobufs. I tend to prefer something with a human-readable version, but protobufs do get the job done.<p>Human-readability is why canonical S-expressions (e.g. (3:foo3:bar), which can be displayed as (foo bar), (&quot;foo&quot; #626172#), (|Zm9v|3:bar) or any permutation thereof) are still the best thing around.