Content deleted Content added
m typo: ActionScript (via WP:JWB) |
No edit summary |
||
Line 89:
| {{no}}
|-
| [[Cap%
| Kenton Varda
| {{n/a}}
Line 483:
| {{note|avrojson}}The primary format is binary, a json encoder is available.<ref>{{cite web|url=https://avro.apache.org/docs/1.9.2/spec.html#json_encoding|title=Avro Json Format}}</ref>
| {{note|capnptextformat}}The primary format is binary, but a text format is available.
}}
Line 858 ⟶ 857:
==Comparison of binary formats==
<!--This table is meant to describe how the various datatypes are encoded in binary in the various formats.-->
{| class="wikitable"
|- style="vertical-align:bottom;"
Line 900 ⟶ 899:
| [[Big-endian]] [[2's complement]] signed and unsigned 8/16/32/64 bits
| {{ubli
| [[Single
| [[Double
}}
| [[UTF-8]]
| Typecode (1 byte) + 1–4 bytes size + 1–4 bytes items count + list items
| Typecode (1 byte) + 1–4 bytes size + 1–4 bytes items count + key/value pairs
Line 911 ⟶ 910:
| True: <code>\x08\x01</code><br>False: <code>\x08\x00</code><br>(2 bytes)
| int32: 32-bit [[little-endian]] [[2's complement]] or int64: 64-bit [[little-endian]] [[2's complement]]
| [[Double
| [[UTF-8]]
| [[BSON]] embedded document with numeric keys
| [[BSON]] embedded document
Line 950 ⟶ 949:
}}
|- style="vertical-align:top;"
| [[Efficient XML Interchange|Efficient XML Interchange (EXI)]]{{efn |group=binary |Any XML based representation can be compressed, or generated as, using
(Unpreserved lexical values format)
| xsi:nil is not allowed in binary context.
| 1–2 bit integer interpreted as boolean.
| Boolean sign, plus arbitrary length 7-bit octets, parsed until most-significant bit is 0, in little-endian. The schema can set the zero-point to any arbitrary number.<br>
Line 973 ⟶ 972:
| [[Little-endian]] [[2's complement]] signed and unsigned 8/16/32/64 bits
| {{ubli
| [[Single
| [[Double
}}
| [[UTF-8]]
| Vectors of any other type, preceded by 32
| Tables (schema defined types) or Vectors sorted by key (maps / dictionaries)
|- style="vertical-align:top;"
Line 988 ⟶ 987:
| {{ubli
| Positive <code>\x2x</code>, negative <code>\x3x</code>
| Zero is always encoded in tag byte.
| BigInts over 13 bytes (104 bits) have 1+ byte overhead for length
}}
Line 994 ⟶ 993:
| <code>\x44</code> (32-bit float)
| <code>\x48</code> (64-bit float)
| Zero is always encoded in tag byte.
}}
| {{ubli
Line 1,032 ⟶ 1,031:
}}
|- style="vertical-align:top;"
| [[Netstring]]s{{efn |group=binary |Interpretation of Netstrings is entirely application- or schema-dependent.}}
| Not in protocol.
| Not in protocol.
| Not in protocol.
| Length
Length counts only octets between ':' and ','
| Not in protocol.
Line 1,070 ⟶ 1,069:
}}
| {{ubli
| [[Single
| [[Double
}}
| [[UTF-8]]
| 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}}
Line 1,099 ⟶ 1,098:
| Either [[UTF-8]] or ISO 8859-1 encoded
| List of elements with identical ID and size, preceded by array header with int16 length
| Chunks can contain other chunks to arbitrary depth.
|- style="vertical-align:top;"
| [[Thrift (protocol)|Thrift]]
|