Implements encoding and decoding classes to/from bytes using CBOR specification. It is typically used by constructing an application-specific instance, with configured behaviour, and, if necessary, registered custom serializers (in SerializersModule provided by serializersModule constructor parameter).

Known caveats and limitations:

Supports reading collections of both definite and indefinite lengths; however, serialization always writes maps and lists as indefinite-length ones. Does not support optional tags representing datetime, bignums, etc. Fully support CBOR maps, which, unlike JSON ones, may contain keys of non-primitive types, and may produce such maps from corresponding Kotlin objects. However, other 3rd-party parsers (e.g. jackson-dataformat-cbor) may not accept such maps.



specifies whether default values of Kotlin properties are encoded. False by default; meaning that properties with values equal to defaults will be elided.


specifies if unknown CBOR elements should be ignored (skipped) when decoding.



Link copied to clipboard
object Default : Cbor

The default instance of Cbor


Link copied to clipboard


Link copied to clipboard
open override fun <T> decodeFromByteArray(deserializer: DeserializationStrategy<T>, bytes: ByteArray): T
Link copied to clipboard
open override fun <T> encodeToByteArray(serializer: SerializationStrategy<T>, value: T): ByteArray