Aller au contenu
uencoder

CBOR

CBOR (Concise Binary Object Representation) est une forme binaire de JSON, normalisée dans le RFC 8949, plus compacte et prenant en charge davantage de types de données.

Objectif

Fournir un encodage binaire plus compact que JSON pour les scénarios contraints en bande passante et en stockage.

Mécanisme

Chaque élément de données commence par un octet d'étiquette : les 3 bits de poids fort donnent le type majeur (0-7) et les 5 bits de poids faible l'information additionnelle. Les types majeurs 0-2 sont les entiers non signés, entiers négatifs et chaînes d'octets ; 3 est une chaîne de texte ; 4-5 sont les tableaux et mappes ; 6 sont les étiquettes (marquage sémantique) ; 7 sont les floats et valeurs simples. Les étiquettes d'extension prennent en charge les dates, URL, bignums et plus.

Cas d’usage

  • Protocole IoT CoAP
  • Données d'identifiants WebAuthn
  • IPLD (le modèle de données d'IPFS)
  • Transport de données de capteurs

Exemples

  • entrée
    {"a":1}
    Output
    A1 61 61 01

    CBOR encoding of a one-pair map

Erreurs courantes

Confusing CBOR and MessagePack encoding details
They differ; parse with each specification

Termes associés

Outils associés

References