4. Serialization Considerations (Serialisierungsüberlegungen)
4.1. Preferred Serialization (Bevorzugte Serialisierung)
Die bevorzugte Serialisierung (Preferred Serialization) ist die CBOR-Codierungsform, die die kürzestmögliche Bytefolge verwendet.
Hauptanforderungen:
- MUSS die kürzeste Codierung für ganzzahlige Werte verwenden (MUST)
- MUSS die kürzeste Längencodierung für Datenelemente mit Längenpräfix verwenden (MUST)
- DARF NICHT Codierung mit unbestimmter Länge verwenden (MUST NOT)
4.2. Deterministically Encoded CBOR (Deterministisch Codiertes CBOR)
Deterministische Codierung (Deterministic Encoding) erzeugt immer dieselbe Byte-Darstellung für ein bestimmtes Datenmodell.
4.2.1. Core Deterministic Encoding Requirements (Kern-Anforderungen für Deterministische Codierung)
Der Encoder MUSS befolgen (MUST):
- Verwenden der Regeln der bevorzugten Serialisierung
- Sortieren der Map-Schlüssel in lexikographischer Reihenfolge
- Nicht erzeugen doppelter Map-Schlüssel
4.2.2. Additional Deterministic Encoding Considerations (Zusätzliche Überlegungen zur Deterministischen Codierung)
Anwendungsspezifikationen KÖNNEN definieren (MAY) die deterministische Behandlung von Gleitkommadarstellungen:
- Normalisierung von NaN
- Behandlung des Null-Vorzeichens
- Auswahl der kürzesten Gleitkommadarstellung
4.3. Core Deterministic Encoding Requirements (Details der Kern-Anforderungen für Deterministische Codierung)
Bei der deterministischen Codierung eines CBOR-Datenelements:
- Argumentwerte MÜSSEN in der kleinstmöglichen Länge ausgedrückt werden (MUST)
- Die Definitionsreihenfolge der Map-Schlüssel/Wert-Paare MUSS die lexikographische Reihenfolge der Byte-Darstellungen der Schlüssel sein (MUST)
- Zwei Einträge mit demselben Schlüssel DÜRFEN NICHT in einer Map erscheinen (MUST NOT)