4. Serialization Considerations (Considerazioni sulla Serializzazione)
4.1. Preferred Serialization (Serializzazione Preferita)
La serializzazione preferita (Preferred Serialization) è la forma di codifica CBOR che utilizza la sequenza di byte più breve possibile.
Requisiti principali:
- DEVE utilizzare la codifica più breve per i valori interi (MUST)
- DEVE utilizzare la codifica di lunghezza più breve per gli elementi di dati con prefisso di lunghezza (MUST)
- NON DEVE utilizzare la codifica di lunghezza indefinita (MUST NOT)
4.2. Deterministically Encoded CBOR (CBOR Codificato in Modo Deterministico)
La codifica deterministica (Deterministic Encoding) genera sempre la stessa rappresentazione in byte per un particolare modello di dati.
4.2.1. Core Deterministic Encoding Requirements (Requisiti di Base per la Codifica Deterministica)
L'encoder DEVE seguire (MUST):
- Utilizzare le regole di serializzazione preferita
- Ordinare le chiavi della mappa in ordine lessicografico
- Non generare chiavi di mappa duplicate
4.2.2. Additional Deterministic Encoding Considerations (Considerazioni Aggiuntive sulla Codifica Deterministica)
Le specifiche dell'applicazione POSSONO definire (MAY) il trattamento deterministico delle rappresentazioni in virgola mobile:
- Normalizzazione dei NaN
- Gestione del segno zero
- Selezione della rappresentazione in virgola mobile più breve
4.3. Core Deterministic Encoding Requirements (Dettagli dei Requisiti di Base per la Codifica Deterministica)
Nella codifica deterministica di un elemento di dati CBOR:
- I valori degli argomenti DEVONO essere espressi nella lunghezza più piccola possibile (MUST)
- L'ordine di definizione delle coppie chiave/valore della mappa DEVE essere l'ordine lessicografico delle rappresentazioni in byte delle chiavi (MUST)
- Due voci con la stessa chiave NON DEVONO apparire in una mappa (MUST NOT)