4. Serialization Considerations (Considérations de Sérialisation)
4.1. Preferred Serialization (Sérialisation Préférée)
La sérialisation préférée (Preferred Serialization) est la forme d'encodage CBOR qui utilise la séquence d'octets la plus courte possible.
Exigences principales:
- DOIT utiliser l'encodage le plus court pour les valeurs entières (MUST)
- DOIT utiliser l'encodage de longueur le plus court pour les éléments de données à préfixe de longueur (MUST)
- NE DOIT PAS utiliser l'encodage de longueur indéfinie (MUST NOT)
4.2. Deterministically Encoded CBOR (CBOR Encodé de Manière Déterministe)
L'encodage déterministe (Deterministic Encoding) génère toujours la même représentation en octets pour un modèle de données particulier.
4.2.1. Core Deterministic Encoding Requirements (Exigences d'Encodage Déterministe de Base)
L'encodeur DOIT suivre (MUST):
- Utiliser les règles de sérialisation préférée
- Trier les clés de carte dans l'ordre lexicographique
- Ne pas générer de clés de carte en double
4.2.2. Additional Deterministic Encoding Considerations (Considérations Supplémentaires d'Encodage Déterministe)
Les spécifications d'application PEUVENT définir (MAY) le traitement déterministe des représentations en virgule flottante:
- Normalisation des NaN
- Traitement du signe zéro
- Sélection de la représentation en virgule flottante la plus courte
4.3. Core Deterministic Encoding Requirements (Détails des Exigences d'Encodage Déterministe de Base)
Dans l'encodage déterministe d'un élément de données CBOR:
- Les valeurs d'argument DOIVENT être exprimées dans la longueur la plus petite possible (MUST)
- L'ordre de définition des paires clé/valeur de carte DOIT être l'ordre lexicographique des représentations en octets des clés (MUST)
- Deux entrées avec la même clé NE DOIVENT PAS apparaître dans une carte (MUST NOT)