Zum Hauptinhalt springen

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):

  1. Verwenden der Regeln der bevorzugten Serialisierung
  2. Sortieren der Map-Schlüssel in lexikographischer Reihenfolge
  3. 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)