Tekst Codering

Binaire vertaler

Tekst 5 tekens
Binair 44 tekens
01001000 01100001 01101100 01101100 01101111
Live · UTF-8, acht bits per byte

Tekst wordt binair door elk teken als een getal te coderen en dat getal in het tweetallig stelsel te schrijven. Deze vertaler gebruikt UTF-8, dus een gewone letter zoals A is één byte, 01000001, terwijl een letter met accent of een emoji twee tot vier bytes kost. Decoderen draait dat om en leest telkens acht bits.

Zo vertaal je binair

1 Typ of plak je tekst. Het binair verschijnt ernaast terwijl je typt.
2 Druk op Omdraaien om de andere kant op te gaan en binair te plakken.
3 Zet een .txt-bestand op het vak om een langere tekst te laden.

Het meeste binair dat je online vindt, is ASCII, zeven bits per teken aangevuld tot acht, en daarom decodeert het hier netjes. Voorbij de eerste 128 tekens gaan coderingen uiteen: 01000011 01100011 gaat goed, maar een é kan in Latin-1 één byte zijn en in UTF-8 twee. Deze tool schrijft en leest UTF-8, en valt terug op losse bytes als een stroom geen geldige UTF-8 is in plaats van hem te weigeren. Voor Nederlandse tekst betekent dat dat een ë in ‘ideeën’ twee bytes kost en de rest één.

De ASCII-herkenningspunten verklaren het meeste wat je ziet. Hoofdletter A is 65 en kleine a is 97: precies 32 uit elkaar, en 32 is één bit, en daarom verschillen 01000001 en 01100001 op één plek en was hoofdletters omzetten vroeger een bitbewerking in plaats van een opzoeking. Spatie is 32, het cijfer nul is 48, en het afdrukbare bereik loopt van 32 tot 126. Alles onder de 32 is een stuurcode, en daarom komt een Windows-regeleinde uit een tekstbestand binnen als twee bytes, 00001101 00001010, terwijl een Unix-regeleinde één 00001010 is.

Decoderen is de lastigere richting, omdat de bits geen eigen leestekens hebben en de splitsing moet worden aangenomen. Hier worden er acht tegelijk gelezen, met terugval op zeven als het totaal deelbaar is door zeven en niet door acht; veel geplakt puzzelbinair is 7-bits ASCII zonder aanvulling. Groepen van wisselende breedte kan geen enkele decoder terughalen, en dat is het hele argument om elk teken tot acht bits aan te vullen als je binair uitschrijft.

Waar mensen het voor gebruiken

  • Een binaire reeks uit een puzzel of een CTF decoderen
  • Kijken welke bits een bepaalde tekst oplevert
  • Een opname op bitniveau terug als tekst lezen
  • Een omzetting controleren die je met de hand hebt gedaan
  • Tekencodering laten zien in een les
  • Zien hoeveel bytes een accent of emoji echt kost

Vragen

01000001, code 65 aangevuld tot acht bits. Kleine a is 01100001.

Unicode Consortium, UTF-8 en de coderingsvormen
Was deze tool wat?
Alleen intern signaal · ik gebruik het om tools te vinden die beter moeten