encode | decode | delimit

> comma | self | delimit <

// Comma-code – zelfbegrenzende binaire codes met automatische grenzen

0 tekens
0 tekens

>> functies

[SELF-DELIMIT]

Zelfbegrenzend

Er zijn geen scheidingstekens nodig tussen opeenvolgende codes.

[SIMPLE]

Eenvoudige structuur

Unair lengtevoorvoegsel gevolgd door databits.

[TABOO]

Patroonvermijding

De taboevariant vermijdt bepaalde bitpatronen wanneer dat nodig is.

>> technische informatie

Hoe Comma-code werkt

Comma-code codeert een geheel getal n als volgt: 1) schrijf de bitlengte L-1 in unair (L-1 enen gevolgd door een nul), 2) voeg de binaire representatie zonder de eerste 1 toe. De taboevariant past de codering aan om patronen zoals 11 te vermijden, wat nuttig is in bepaalde communicatiesystemen.

Voorbeelden van 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

Waarom Comma-code gebruiken

  • Zelfbegrenzende eigenschap
  • Geen extra scheidingstekens nodig
  • Eenvoudig te implementeren
  • Mogelijkheid om bepaalde patronen te vermijden
  • Prefixvrije codes

>> veelgestelde vragen

Wat is Comma-code?

Comma-code is een zelfbegrenzende binaire code die gehele getallen encodeert met een unair lengtevoorvoegsel gevolgd door databits. Hij heet "Comma" omdat codes, net als lijstitems, achter elkaar gezet kunnen worden zonder expliciete scheidingstekens.

Waarom is het zelfbegrenzend?

Het unair lengtevoorvoegsel vertelt de decoder precies hoeveel databits volgen. Zodra je k enen ziet gevolgd door een nul, weet je dat je precies k extra bits moet lezen. Daardoor kunnen meerdere codes zonder extra scheidingstekens worden aaneengeschakeld.

Wat is de taboevariant?

De taboevariant van Comma-code wijzigt de codering om bepaalde bitpatronen (zoals 11) te vermijden. Dit is nuttig in kanalen waar specifieke patronen problemen veroorzaken of een speciale betekenis hebben, bijvoorbeeld synchronisatiemarkeringen.

Waar wordt Comma-code gebruikt?

Comma-codes worden gebruikt bij gegevenscompressie, netwerkprotocollen en opslagsystemen waar zelfbegrenzende eigenschappen belangrijk zijn. Ze zijn vooral handig wanneer meerdere variabele-lengte-gehele getallen zonder aparte lengtevakken moeten worden opgeslagen.