Serialization
From Just Solve the File Format Problem
(Difference between revisions)
(add pickle (Python 2 object serialization)) |
Dan Tobias (Talk | contribs) (→Serialization formats) |
||
(37 intermediate revisions by 5 users not shown) | |||
Line 5: | Line 5: | ||
|caption=No, I said ''serial'', idiot. | |caption=No, I said ''serial'', idiot. | ||
}} | }} | ||
+ | '''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. | ||
+ | == 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]] | ||
+ | * [[Cap'n Proto]] | ||
+ | * [[CBOR]] ([https://datatracker.ietf.org/doc/rfc8949/ RFC 8949]) ([http://cbor.io/ CBOR description]) | ||
+ | * [[CoffeeScript-Object-Notation]] (CSON) | ||
+ | * [[Concise Encoding]] [https://concise-encoding.org/] | ||
+ | * [[Cursive Script Object Notation]] | ||
* [[DER]] (Distinguished Encoding Rules) | * [[DER]] (Distinguished Encoding Rules) | ||
+ | * [[Doge Serialized Object Notation]] (DSON) | ||
+ | * [[FDF]] | ||
+ | * [[FlatBuffers]] | ||
+ | * [[Form URL encoding]] (application/x-www-form-urlencoded) | ||
+ | * [[Hjson]] | ||
+ | * [[I-JSON]] | ||
+ | * [[Ion]] [https://amznlabs.github.io/ion-docs/] | ||
* [[IWA]] (Apple iWork serialization; .iwa) | * [[IWA]] (Apple iWork serialization; .iwa) | ||
+ | * [[Java Object Serialization]] | ||
* [[JSON]] (.json) | * [[JSON]] (.json) | ||
+ | * [[JSON5]] (.json5) [http://json5.org/] | ||
+ | * [[JSONB]] [https://sqlite.org/draft/jsonb.html] | ||
+ | * [[JSONH]] [https://github.com/WebReflection/JSONH] | ||
+ | * [[JSONx]] | ||
+ | * [[LCON]] [https://github.com/ar-nelson/lcon] | ||
+ | * [[MessagePack]] [http://msgpack.org/index.html] | ||
* [[Microsoft XNA Compiled Format]] (.xnb) | * [[Microsoft XNA Compiled Format]] (.xnb) | ||
+ | * [[Minecraft NBT format]] | ||
+ | * [[Multipart/Form-Data]] | ||
+ | * [[OLE Property Set]] | ||
+ | * [[Pickle]] (Python) | ||
+ | * [[PostScript binary object format]] | ||
* [[Property List]] (.plist) | * [[Property List]] (.plist) | ||
− | * [[Protobuf]] (a Google format also used within IWA) | + | * [[Protobuf]] (Protocol Buffers; a Google format also used within IWA) |
+ | * [[RELOAD]] | ||
+ | * [[Simple Binary Encoding]] | ||
+ | ** [[SBE Intermediate Representation]] | ||
+ | * Thrift | ||
+ | ** [[Thrift binary protocol]] | ||
+ | ** [[Thrift compact protocol]] | ||
+ | * [[Transit]] [https://github.com/cognitect/transit-format] | ||
+ | * [[UXF (Uniform Exchange Format)]] [https://github.com/mark-summerfield/uxf] | ||
+ | * [[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 == | ||
− | |||
− | |||
* [[Databases]] | * [[Databases]] | ||
+ | * [[Markup]] | ||
+ | * [[Metaformats]] | ||
+ | * [[Protocols]] | ||
+ | * [[Text-based data]] | ||
+ | * [[Transfer Encodings]] |
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)