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ément | CBOR | MessagePack |
|---|---|---|
| Extension | .cbor | .msgpack, .mpk |
| Type MIME | application/cbor | application/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 IoT | Sérialiser en binaire des données proches de JSON · Échanger des données structurées entre applications compatibles |
| Comment ouvrir | Lisez 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 convertir | Lors 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
CBORUtiliser 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
CBOREncoder 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
MessagePackPoint 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érencesPoint 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érencesEn 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.