Are not there any satisfiable codecs? => DER => CER => XDR => JSON => BSON => MessagePack => CBOR => dCBOR => Netstrings => Bencode => Canonical S-expression | 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 | ~ CSExp | Y | Y | Y | Y | ~ KEKS | Y | Y | Y | Y | Y | BigStr | BinStr | UTF8Str | Int | BigInt | List | Struct | Time 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: * 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.