encode | decode | delimit

> comma | self | delimit <

// Comma-Code – selbstbegrenzende binäre Codes mit automatischen Grenzen

0 Zeichen
0 Zeichen

>> Funktionen

[SELF-DELIMIT]

Selbstbegrenzend

Keine Trennzeichen zwischen aufeinanderfolgenden Codes erforderlich.

[SIMPLE]

Einfache Struktur

Unäres Längenpräfix gefolgt von den Datenbits.

[TABOO]

Mustervermeidung

Die Tabu-Variante vermeidet bestimmte Bitmuster nach Bedarf.

>> Technische Infos

Wie Comma-Code funktioniert

Comma-Code kodiert eine ganze Zahl n, indem: 1) die Bitlänge L-1 in unärer Form geschrieben wird (L-1 Einsen gefolgt von einer Null) und 2) die binäre Darstellung ohne führende 1 angehängt wird. Die Tabu-Variante verändert die Kodierung, um Muster wie 11 zu vermeiden, was in bestimmten Kommunikationskanälen nützlich ist.

Beispiele für Comma-Code

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

Warum Comma-Code verwenden

  • Selbstbegrenzende Eigenschaft
  • Keine Trennzeichen nötig
  • Einfach zu implementieren
  • Möglichkeit zur Vermeidung bestimmter Muster
  • Präfixfreie Codes

>> Häufig gestellte Fragen

Was ist Comma-Code?

Comma-Code ist ein selbstbegrenzender binärer Code, der ganze Zahlen mit einem unären Längenpräfix und anschließenden Datenbits kodiert. Er heißt „Comma“, weil Codes wie Listenelemente hintereinander geschrieben werden können, ohne explizite Trennzeichen.

Was macht ihn selbstbegrenzend?

Das unäre Längenpräfix sagt dem Decoder genau, wie viele Datenbits folgen. Wenn du k Einsen gefolgt von einer Null siehst, weißt du, dass genau k weitere Bits gelesen werden müssen. So können mehrere Codes ohne zusätzliche Trennzeichen verkettet werden.

Was ist die Tabu-Variante?

Der Tabu-Comma-Code passt die Kodierung so an, dass bestimmte Bitmuster (wie 11) vermieden werden. Das ist nützlich in Kanälen, in denen bestimmte Muster Probleme verursachen oder spezielle Bedeutung haben, etwa Synchronisationsmarken.

Wo wird Comma-Code eingesetzt?

Comma-Codes werden in Datenkompression, Netzwerkprotokollen und Speichersystemen verwendet, in denen selbstbegrenzende Eigenschaften wichtig sind. Sie sind besonders hilfreich, wenn mehrere ganzzahlige Werte variabler Länge ohne separate Längenfelder gespeichert werden sollen.