// Kod Comma – samoograniczające kody binarne z automatycznymi granicami
Brak potrzeby stosowania separatorów między kolejnymi kodami.
Unarny prefiks długości, po którym następują bity danych.
Wariant tabu pozwala unikać określonych wzorców bitów w razie potrzeby.
Kod Comma koduje liczbę całkowitą n w następujący sposób: 1) zapisuje długość w bitach L-1 w postaci unarnej (L-1 jedynek zakończonych zerem), 2) dołącza reprezentację binarną bez pierwszej jedynki. Wariant tabu modyfikuje kodowanie, aby unikać wzorców takich jak 11, co jest przydatne w niektórych kanałach komunikacyjnych.
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
Kod Comma to samoograniczający kod binarny, który koduje liczby całkowite przy użyciu unarnego prefiksu długości oraz następujących po nim bitów danych. Nazywa się „Comma”, ponieważ kody można łączyć bez jawnych separatorów, jak elementy listy.
Unarny prefiks długości informuje dekoder, ile dokładnie bitów danych następuje dalej. Gdy widzisz k jedynek zakończonych zerem, wiesz, że należy odczytać dokładnie k kolejnych bitów. Dzięki temu wiele kodów można połączyć bez dodatkowych separatorów.
Wariant tabu kodu Comma modyfikuje sposób kodowania tak, aby unikać określonych wzorców bitów (np. 11). Jest to przydatne w kanałach, w których pewne wzorce powodują problemy lub mają szczególne znaczenie, na przykład znaczniki synchronizacji.
Kod Comma jest używany w kompresji danych, protokołach sieciowych i systemach przechowywania, gdzie ważne są własności samoograniczające. Szczególnie przydatny jest przy przechowywaniu wielu liczb całkowitych o zmiennej długości bez oddzielnych pól długości.