Comparison of data-serialization formats: Difference between revisions

Content deleted Content added
Restoring section related to relevant Capn' Proto format
rm entry without wikipedia article
Line 147:
| {{partial}}<br>(Signature strings)
| {{yes|[[D-Bus|Yes]]}}
| {{n/a}}
|-
|[https://github.com/edn-format Extensible Data Notation]
|Rich Hickey
| {{n/a}}
| {{yes}}
|[https://github.com/edn-format/edn edn-format]
| {{no}}
| {{yes}}
| {{yes}}
| {{no}}
| Clojure, C#, Python
| {{n/a}}
|-
Line 352 ⟶ 340:
| C++, Java, C#, Python, Go, Ruby, Objective-C, C, Dart, Perl, PHP, R, Rust, Scala, Swift, Julia, Erlang, D, Haskell, Action Script, Delphi, Elixir, Elm, Erlang, GopherJS, Haskell, Haxe, JavaScript, Kotlin, Lua, Matlab, Mercurt, OCaml, Prolog, Solidity, Typescript, Vala, Visual Basic
| {{no}}
|-
| [[Ethereum]] [[Recursive Length Prefix]] (RLP)
| [[Ethereum]]
| {{n/a}}
| {{no}}
| [https://github.com/ethereum/wiki/wiki/RLP Specification]
| {{yes}}
| {{no}}
| {{no}}
| {{no}}
| Erlang, Go, Java, Javascript, Kotlin, Objective-C, Python, Swift, PHP
| {{yes}}
|-
| {{nobr|[[S-expression]]s}}
Line 1,100 ⟶ 1,076:
| Repeated value with the same tag or, for varint-encoded integers only, values packed contiguously and prefixed by tag and total byte length
| {{n/a}}
|- style="vertical-align:top;"
| [[Ethereum]] [[Recursive Length Prefix]]
| Not in protocol. <br><code>\x80</code> (zero-length string) often used
| Not in protocol. <br>Integer 0/1 often used.
| {{ubli
| 0–127: <code>\x00</code>–<code>\x7f</code>
| Other values: Strings of big-endian encoded bytes, of [[Bignum|arbitrary length]], beginning with <code>\x80</code> - <code>\xbf</code>
}}
| Integer encodings may be interpreted as IEEE float.
| {{ubli
| Length prefixed, up to 55 bytes: <code>\x80</code>–<code>\xb7</code> followed by data.
| 56+ bytes: <code>\xb8</code>–<code>\xbf</code> followed by 1–8 byte integer length of string followed by data.
}}
| {{ubli
| Length prefixed, up to 55 bytes: <code>\xc0</code>–<code>\xf7</code> followed by data.
| 56+ bytes: <code>\xf8</code>–<code>\xff</code> followed by 1–8 byte integer length of data followed by data.
| Length is always in bytes, not in list items.
}}
| Not in protocol. May be encoded as lists of key/value pair lists or other formats.
|- style="vertical-align:top;"
| [[Smile (data interchange format)|Smile]]