cbor_decode(), cbor_decode_seq(), cbor_read() and cbor_read_seq() turn CBOR (RFC 8949) and CBOR sequences (RFC 8742) into ordinary R values. The whole input is checked first – well-formedness, UTF-8, tag content, duplicate map keys (by value), and depth, size and item limits – so a length header can never make R allocate for data the input does not hold. Every fault is a classed condition inheriting zucbor_error. A URL or file that cannot be opened is a zucbor_io_error naming the cause (HTTP status was '404 Not Found'), with no stray warning.
cbor_encode() and cbor_encode_seq() write RFC 8949 core deterministic encoding: identical R objects give identical bytes on every platform, and decoding then re-encoding deterministic input reproduces it exactly.
cbor_annotate() prints an annotated hex dump: each head with its offset, bytes and meaning, for reviewing a signed message byte by byte.
cbor_decode_prefix() decodes the item a raw vector starts with and reports how many bytes it used, for CBOR inside binary framing such as WebAuthn authData. What follows the item is not read.
RFC 8746 typed arrays decode to integer and double vectors, and multi-dimensional arrays (tags 40 and 1040) to matrices and arrays. cbor_encode(typed_arrays = TRUE) writes numeric vectors as typed arrays and matrices as tag 1040: smaller, and much faster to read and write. Off by default, so existing output is unchanged.
Data frames encode as an array of one map per row, keyed by column name, and data_frame = TRUE in the decoders reads such an array (SenML, for instance) back as a data frame. max_cells bounds the cells of a decoded frame before it is built.
cbor_read_seq(each =) reads a sequence of any length in memory bounded by its largest item: each item is checked whole, decoded and passed to a function as soon as its last byte arrives. The limits then apply per item.
tag_handlers = in the decoders gives meaning to any tag: a function per tag number turns its decoded content into an R value. Handlers run only after the whole input has been checked, and an error in one is zucbor_handler_error. as_cbor() is the encoding half: an S3 generic that cbor_encode() calls for any class it does not know.
cbor_validate() runs the check alone; cbor_diagnose() shows CBOR in RFC 8949 diagnostic notation, as the RFC’s own examples write it.