cborenc: CBOR Encode

View source: R/base.R

cborencR Documentation

CBOR Encode

Description

Encode an R object to CBOR (Concise Binary Object Representation, RFC 8949) format.

Usage

cborenc(x)

Arguments

x

R object to encode. Supported types: NULL, logical, integer, double, character, raw vectors, and lists (named lists become CBOR maps, unnamed become CBOR arrays).

Details

This implementation supports a minimal CBOR subset:

  • Unsigned and negative integers

  • Float64

  • Byte strings (raw vectors)

  • Text strings (UTF-8)

  • Simple values: false, true, null, undefined

  • Arrays (unnamed lists/vectors)

  • Maps (named lists)

Scalars (length-1 vectors) encode as CBOR primitives; longer vectors encode as CBOR arrays. NA values encode as CBOR undefined. Names on atomic vectors are ignored.

Note: atomic vectors do not round-trip perfectly as CBOR arrays decode to lists. Named lists round-trip correctly as CBOR maps.

Value

A raw vector containing the CBOR-encoded data.

See Also

cbordec()

Examples

# Encode a named list (becomes CBOR map)
cborenc(list(a = 1L, b = "hello"))

# Round-trip
cbordec(cborenc(list(x = TRUE, y = as.raw(1:3))))


secretbase documentation built on Feb. 5, 2026, 9:09 a.m.