// Codice Comma – codici binari auto-delimitanti con confini automatici
Non sono necessari separatori tra codici consecutivi.
Prefisso di lunghezza in forma unaria seguito dai bit di dati.
La variante tabù evita determinati pattern di bit quando serve.
Il codice Comma codifica un intero n così: 1) scrive la lunghezza in bit L-1 in forma unaria (L-1 uno seguiti da uno zero), 2) aggiunge la rappresentazione binaria senza il primo 1. La variante tabù modifica la codifica per evitare pattern come 11, utile in alcuni canali di comunicazione.
Basic Comma Code: 0 → 0 (special case) 1 → 01 (0 ones + 0 + empty) 2 → 100 (1 one + 0 + '0') 3 → 101 (1 one + 0 + '1') 4 → 11000 (2 ones + 0 + '00') 5 → 11001 (2 ones + 0 + '01') Concatenated: 1,2,3 → 01 100 101 → 01100101 Self-delimiting - can decode without separators Taboo variant avoids '11' pattern: Uses different encoding to prevent consecutive 1s
Il codice Comma è un codice binario auto-delimitante che codifica gli interi usando un prefisso di lunghezza unaria seguito dai bit di dati. Si chiama "Comma" perché i codici possono essere concatenati senza separatori espliciti, come elementi in un elenco.
Il prefisso di lunghezza unaria indica al decodificatore esattamente quanti bit di dati seguono. Quando vedi k uno seguiti da uno zero, sai che devi leggere esattamente altri k bit. Ciò consente di concatenare più codici senza separatori aggiuntivi.
La variante tabù del codice Comma modifica la codifica per evitare certi pattern di bit (come 11). È utile in canali in cui determinati pattern causano problemi o hanno un significato speciale, ad esempio come marcatori di sincronizzazione.
Il codice Comma viene usato nella compressione dati, nei protocolli di rete e nei sistemi di archiviazione in cui sono importanti le proprietà auto-delimitanti. È particolarmente utile quando occorre memorizzare più interi a lunghezza variabile senza campi di lunghezza separati.