Format Atlas

Comparer

CBOR ou MessagePack

CBOR et MessagePack sérialisent en binaire des valeurs proches de JSON. CBOR normalise les balises de protocole et l’encodage déterministe ; MessagePack encode efficacement des objets généraux.

Quel format choisir ?

Envisagez CBOR si un protocole exige des balises normalisées par l’IETF ou un encodage déterministe. Choisissez MessagePack si la compatibilité avec les applications et bibliothèques existantes prime. Testez plages numériques, extensions et comportement entre implémentations.

Adapté pour CBOR

Échanger des données structurées sur des appareils et réseaux aux ressources limitées · Représenter des données dans COSE et les protocoles IoT

  • Représenter des données proches de JSON dans un format binaire compact
  • Utiliser des étiquettes standard ou propres à l’application pour préciser le sens des valeurs

Adapté pour MessagePack

Sérialiser en binaire des données proches de JSON · Échanger des données structurées entre applications compatibles

  • Encoder en binaire tableaux, cartes et valeurs de base proches de JSON
  • Échanger extensions et horodatages entre bibliothèques compatibles

Informations générales

ÉlémentCBORMessagePack
Extension.cbor.msgpack, .mpk
Type MIMEapplication/cborapplication/octet-stream
Usages courantsÉchanger des données structurées sur des appareils et réseaux aux ressources limitées · Représenter des données dans COSE et les protocoles IoTSérialiser en binaire des données proches de JSON · Échanger des données structurées entre applications compatibles
Comment ouvrirLisez le fichier avec une bibliothèque ou un décodeur CBOR, puis examinez sa notation diagnostique ou une vue proche de JSON. Vérifiez la représentation des valeurs sans équivalent direct en JSON, comme les étiquettes et chaînes d’octets.Lisez-le avec une bibliothèque ou un décodeur compatible MessagePack. Pour examiner son contenu, utilisez une notation diagnostique ou une vue proche de JSON et vérifiez l’affichage des données binaires et extensions.
Exporter ou convertirLors d’une conversion en JSON, chaînes d’octets et valeurs étiquetées peuvent nécessiter une représentation propre à l’outil. Pour les signatures, hachages ou clés de cache, respectez les règles convenues par le protocole, comme l’encodage déterministe de RFC 8949.Lors d’une conversion en JSON, données binaires et extensions peuvent nécessiter des tableaux, chaînes ou enveloppes propres à l’outil, car JSON standard n’a pas d’équivalents directs. Pour un aller-retour, testez types, plages numériques, horodatages, clés de cartes et extensions avec des données réelles.

Choisir selon l’usage

Représenter des données proches de JSON dans un format binaire compact

Échanger des données structurées sur des appareils et réseaux aux ressources limitées · Représenter des données dans COSE et les protocoles IoT

CBOR

Utiliser des étiquettes standard ou propres à l’application pour préciser le sens des valeurs

Échanger des données structurées sur des appareils et réseaux aux ressources limitées · Représenter des données dans COSE et les protocoles IoT

CBOR

Encoder en binaire tableaux, cartes et valeurs de base proches de JSON

Sérialiser en binaire des données proches de JSON · Échanger des données structurées entre applications compatibles

MessagePack

Échanger extensions et horodatages entre bibliothèques compatibles

Sérialiser en binaire des données proches de JSON · Échanger des données structurées entre applications compatibles

MessagePack

Point clé 1

CBOR définit entiers, octets, tableaux, cartes et balises dans la RFC 8949. MessagePack définit entiers, chaînes, binaire, tableaux, cartes et extensions propres à l’application.

En savoir plus sur les différences

Point clé 2

CBOR spécifie des exigences d’encodage déterministe utiles aux signatures ou hachages cohérents. Avec MessagePack, l’application peut devoir définir l’ordre des clés et les conventions d’extension.

En savoir plus sur les différences

En savoir plus sur les différences

Choisissez selon le protocole et son écosystème, sans supposer qu’un format est toujours plus petit ou rapide. Définissez le mappage des balises, extensions, clés, nombres et valeurs optionnelles, puis testez des données réelles.

  • Les balises CBOR identifient la sémantique de valeurs et la RFC 8949 décrit l’encodage déterministe. Les extensions MessagePack transportent des identifiants de type et octets définis par l’application.
  • Même pour des données semblables, leurs encodages binaires diffèrent. Un décodeur de l’un ne lit pas nécessairement l’autre.
  • La conversion peut changer largeur numérique, type de clé, balise ou extension. Définissez les correspondances et testez les aller-retour entre implémentations.

Questions fréquentes

CBOR et MessagePack sont-ils compatibles au niveau binaire ?

Non. Leurs encodages et modèles d’extension diffèrent ; une conversion explicite ou une définition de protocole commune est nécessaire.

En savoir plus

Références et spécifications