Are not there any satisfiable [codecs]?
| simple | deterministic | streamable | compact
------------+--------+---------------+------------+--------
ASN.1 DER | N | Y | N | N
ASN.1 CER | N | Y | Y | N
JSON | N | N | Y | N
BSON | Y | N | N | N
MessagePack | Y | N | N | Y
CBOR | N | N | Y | Y
dCBOR | N | Y | N | Y
Netstrings | Y | Y | N | ~
Bencode | Y | Y | Y | ~
CSExp | Y | Y | Y | ~
KEKS | Y | Y | Y | Y
| big | bin | UTF | | big | | |
| str | str | str | int | int | list | map | time
------------+-----+-----+-----+-----+-----+------+-----+-----
ASN.1 DER | Y | Y | Y | Y | Y | Y | Y | Y
ASN.1 CER | Y | Y | Y | Y | Y | Y | Y | Y
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:
* Hardly you will find wide range of CBOR libraries supporting strict
validation of deterministically encoded CBOR structures.
* Tagged string/integer can not be taken as a viable first-class
bigint/datetime data support, because many decoders do not support
tags and won't be able to interpret/validate them.
* Non-string map keys very complicates representation process for
dynamically types languages.