Skip to main content
On this page

@std/cbor

Unstable

This @std package is experimental and its API may change without a major version bump.

Overview Jump to heading

Concise Binary Object Representation (CBOR) is a binary data serialization format optimized for compactness and efficiency. It is designed to encode a wide range of data types, including integers, strings, arrays, and maps, in a space-efficient manner. RFC 8949 - Concise Binary Object Representation (CBOR) spec.

Limitations

  • This implementation only supports the encoding and decoding of "Text String" keys.
  • This implementation encodes decimal numbers with 64 bits. It takes no effort to figure out if the decimal can be encoded with 32 or 16 bits.
  • When decoding, integers with a value below 2 ** 32 will be of type number, with all larger integers being of type bigint.

Functions and classes may have more specific limitations listed.

import { assert, assertEquals } from "@std/assert";
import { decodeCbor, encodeCbor } from "@std/cbor";

const rawMessage = "I am a raw Message!";

const encodedMessage = encodeCbor(rawMessage);
const decodedMessage = decodeCbor(encodedMessage);

assert(typeof decodedMessage === "string");
assertEquals(decodedMessage, rawMessage);

Add to your project Jump to heading

deno add jsr:@std/cbor

See all symbols in @std/cbor on

Did you find what you needed?

Privacy policy