Serialization
From Just Solve the File Format Problem
(Difference between revisions)
(Added FlatBuffers) |
Dan Tobias (Talk | contribs) (→Serialization formats) |
||
(12 intermediate revisions by 5 users not shown) | |||
Line 8: | Line 8: | ||
== Serialization formats == | == Serialization formats == | ||
+ | * [[Avro]] | ||
+ | * [[Bebop]] [https://rainway.com/blog/2020/12/09/bebop-an-efficient-schema-based-binary-serialization-format/] | ||
* [[Bencode]] (used by BitTorrent) | * [[Bencode]] (used by BitTorrent) | ||
* [[BSON]] | * [[BSON]] | ||
* [[Cap'n Proto]] | * [[Cap'n Proto]] | ||
− | * [[CBOR]] (RFC | + | * [[CBOR]] ([https://datatracker.ietf.org/doc/rfc8949/ RFC 8949]) ([http://cbor.io/ CBOR description]) |
* [[CoffeeScript-Object-Notation]] (CSON) | * [[CoffeeScript-Object-Notation]] (CSON) | ||
+ | * [[Concise Encoding]] [https://concise-encoding.org/] | ||
* [[Cursive Script Object Notation]] | * [[Cursive Script Object Notation]] | ||
* [[DER]] (Distinguished Encoding Rules) | * [[DER]] (Distinguished Encoding Rules) | ||
+ | * [[Doge Serialized Object Notation]] (DSON) | ||
* [[FDF]] | * [[FDF]] | ||
* [[FlatBuffers]] | * [[FlatBuffers]] | ||
Line 25: | Line 29: | ||
* [[JSON]] (.json) | * [[JSON]] (.json) | ||
* [[JSON5]] (.json5) [http://json5.org/] | * [[JSON5]] (.json5) [http://json5.org/] | ||
+ | * [[JSONB]] [https://sqlite.org/draft/jsonb.html] | ||
* [[JSONH]] [https://github.com/WebReflection/JSONH] | * [[JSONH]] [https://github.com/WebReflection/JSONH] | ||
* [[JSONx]] | * [[JSONx]] | ||
Line 30: | Line 35: | ||
* [[MessagePack]] [http://msgpack.org/index.html] | * [[MessagePack]] [http://msgpack.org/index.html] | ||
* [[Microsoft XNA Compiled Format]] (.xnb) | * [[Microsoft XNA Compiled Format]] (.xnb) | ||
+ | * [[Minecraft NBT format]] | ||
* [[Multipart/Form-Data]] | * [[Multipart/Form-Data]] | ||
* [[OLE Property Set]] | * [[OLE Property Set]] | ||
* [[Pickle]] (Python) | * [[Pickle]] (Python) | ||
+ | * [[PostScript binary object format]] | ||
* [[Property List]] (.plist) | * [[Property List]] (.plist) | ||
* [[Protobuf]] (Protocol Buffers; a Google format also used within IWA) | * [[Protobuf]] (Protocol Buffers; a Google format also used within IWA) | ||
+ | * [[RELOAD]] | ||
* [[Simple Binary Encoding]] | * [[Simple Binary Encoding]] | ||
** [[SBE Intermediate Representation]] | ** [[SBE Intermediate Representation]] | ||
Line 41: | Line 49: | ||
** [[Thrift compact protocol]] | ** [[Thrift compact protocol]] | ||
* [[Transit]] [https://github.com/cognitect/transit-format] | * [[Transit]] [https://github.com/cognitect/transit-format] | ||
+ | * [[UXF (Uniform Exchange Format)]] [https://github.com/mark-summerfield/uxf] | ||
* [[XFDF]] | * [[XFDF]] | ||
+ | * [[XML]] (originally intended only as a markup format, but ended up as probably the most popular serialization format) | ||
* [[YAML]] (.yaml) | * [[YAML]] (.yaml) | ||
+ | |||
+ | == Miscellaneous related things == | ||
+ | * [[EDI]] | ||
== See Also == | == See Also == |
Latest revision as of 22:56, 22 January 2024
Serialization is used to transform data structures (as used within a program, in whatever native formats might be used by the programming language the program is in) into a file or data stream of standardized format to be saved for later use, or transmitted through a network to be used by a different program elsewhere.
[edit] Serialization formats
- Avro
- Bebop [1]
- Bencode (used by BitTorrent)
- BSON
- Cap'n Proto
- CBOR (RFC 8949) (CBOR description)
- CoffeeScript-Object-Notation (CSON)
- Concise Encoding [2]
- Cursive Script Object Notation
- DER (Distinguished Encoding Rules)
- Doge Serialized Object Notation (DSON)
- FDF
- FlatBuffers
- Form URL encoding (application/x-www-form-urlencoded)
- Hjson
- I-JSON
- Ion [3]
- IWA (Apple iWork serialization; .iwa)
- Java Object Serialization
- JSON (.json)
- JSON5 (.json5) [4]
- JSONB [5]
- JSONH [6]
- JSONx
- LCON [7]
- MessagePack [8]
- Microsoft XNA Compiled Format (.xnb)
- Minecraft NBT format
- Multipart/Form-Data
- OLE Property Set
- Pickle (Python)
- PostScript binary object format
- Property List (.plist)
- Protobuf (Protocol Buffers; a Google format also used within IWA)
- RELOAD
- Simple Binary Encoding
- Thrift
- Transit [9]
- UXF (Uniform Exchange Format) [10]
- XFDF
- XML (originally intended only as a markup format, but ended up as probably the most popular serialization format)
- YAML (.yaml)