KEKS is compact, deterministic, concise and streaming binary serialisation format. It is aimed to be lightweight in terms of CPU, memory, storage and codec implementation size usage. It supports wide range of data types, making it able to transparently replace JSON.
KEKS means: kompakt, entschlossen, knapp, strömend.
But why!? Because there is no satisfiable codec for all set of requirements below.
Are not there any satisfiable codecs?
Schemaless | Simple | Deterministic | Streamable | Compact | |
---|---|---|---|---|---|
ASN.1 DER | N | N | Y | N | N |
ASN.1 CER | N | N | Y | Y | N |
XDR | N | Y | N | N | N |
JSON | Y | N | N | Y | N |
BSON | Y | Y | N | N | N |
MessagePack | Y | Y | N | N | Y |
CBOR | Y | N | N | Y | Y |
dCBOR | Y | N | Y | N | Y |
Netstrings | Y | Y | Y | N | ~ |
Bencode | Y | Y | Y | Y | ~ |
Canonical S-expression | Y | Y | Y | Y | ~ |
KEKS | Y | Y | Y | Y | Y |
Big str | Bin str | Human str | Ints | Bigints | Lists | Structures | Datetime | |
---|---|---|---|---|---|---|---|---|
ASN.1 DER | Y | Y | Y | Y | Y | Y | Y | Y |
ASN.1 CER | Y | Y | Y | Y | Y | Y | Y | Y |
XDR | N | Y | Y | Y | N | Y | Y | N |
JSON | Y | N | Y | Y | Y | Y | Y | N |
BSON | N | Y | Y | Y | N | Y | Y | Y |
MessagePack | N | Y | Y | Y | N | Y | Y | N |
CBOR | Y | Y | Y | Y | N | Y | Y | N |
dCBOR | Y | Y | Y | Y | N | Y | Y | N |
Netstrings | Y | Y | N | N | N | N | N | N |
Bencode | Y | Y | N | Y | Y | Y | Y | N |
CSExp | Y | Y | N | N | N | Y | N | N |
KEKS | Y | Y | Y | Y | Y | Y | Y | Y |
Note about CBOR:
Copyright © 2024-2025 Sergey Matveev
• Install: | ||
• Encoding: | ||
• Schema: | Structure validation against schemas | |
• CM: | Cryptographic messages | |
• Thanks: | ||
• Concepts Index: |