tigtools

Tekst naar binair-converter

Zet tekst om in de bytes waarin een computer die opslaat, weergegeven als binair, hexadecimaal, decimaal of octaal. Of plak bytes om ze als tekst te lezen. Werkt met elke taal en emoji.

Werkt in je browser Geen registratie nodig

Richting
Tussen bytes

Zo gebruik je deze tool

  1. Kies “Tekst → bytes” om te coderen of “Bytes → tekst” om te decoderen.
  2. Kies een byteformaat: binair, hexadecimaal, decimaal of octaal.
  3. Typ of plak je invoer. Het resultaat en het aantal bytes worden bijgewerkt terwijl je typt.
  4. Kopieer het resultaat of zet het terug in het invoerveld om de omzetting heen en terug te controleren.

Hoe het werkt

Computers slaan tekst op als bytes. Deze tool gebruikt UTF-8, de codering die door bijna elke website en elk modern systeem wordt gebruikt. In UTF-8 nemen de 128 ASCII-tekens (Engelse letters, cijfers en eenvoudige leestekens) elk één byte in beslag. Daarom is H in binair 01001000 en in hexadecimaal 48. Alle andere tekens nemen twee tot vier bytes in beslag: é is 2 bytes (C3 A9), € en ☕ zijn 3 bytes en de meeste emoji zijn 4 bytes. Daarom kan het aantal bytes groter zijn dan het aantal tekens, en kan één teken uit meerdere groepen van 8 bits bestaan.

Elke byte kan op vier gangbare manieren worden geschreven: als binair getal van 8 cijfers (00000000–11111111), hexadecimaal getal van 2 cijfers (00–FF), decimaal getal (0–255) of octaal getal van 3 cijfers (000–377). Als bytes zonder scheidingstekens worden geschreven, worden binaire, hexadecimale en octale waarden aangevuld tot een vaste lengte. Decimale waarden worden aangevuld tot 3 cijfers, zodat ze weer eenduidig kunnen worden opgesplitst.

Bij het decoderen zijn verschillende notaties toegestaan: spaties, regeleinden, komma's en puntkomma's tussen bytes worden genegeerd, net als de voorvoegsels 0x en 0b en de escapes \x. Elke groep wordt gecontroleerd. Een cijfer dat niet is toegestaan in de gekozen notatie, of een waarde hoger dan 255, wordt gemeld met de positie van de byte. Na het decoderen wordt gecontroleerd of de bytes geldige UTF-8 vormen. Je krijgt een melding als dat geen tekst is.

Tekens die uit meerdere codepunten bestaan, zoals vlaggen of emoji met een huidskleur, tellen hier als meerdere tekens, omdat elk codepunt afzonderlijk wordt gecodeerd.

Voorbeelden

De klassieker “Hi” in binair

H is ASCII 72 en i is 105. Daarom wordt “Hi” in binair 01001000 01101001, in hex 48 69 en in decimaal 72 105: 2 tekens, 2 bytes, 16 bits.

Waarom “Café” 5 bytes is

C, a en f nemen elk één byte in beslag, maar é neemt in UTF-8 twee bytes in beslag: 11000011 10101001 (C3 A9). Het woord heeft 4 tekens, maar neemt 5 bytes in beslag. Dat is van belang voor limieten op databasekolommen en protocolvelden die in bytes worden gemeten.

Een hex-dump lezen

Een debugger toont 48 65 6c 6c 6f 2c 20 e4 b8 96 e7 95 8c. Plak dit in de tool met “Bytes → tekst” en hexadecimaal geselecteerd om “Hello, 世界” te krijgen. Elk Chinees teken is 3 bytes.

Veelgestelde vragen

Waarom wordt één teken omgezet in 16, 24 of 32 bits?

In UTF-8 passen alleen ASCII-tekens in één byte (8 bits). Letters met accenten en de meeste andere alfabetten gebruiken 2 bytes; Chinees, Japans, Koreaans en veel symbolen gebruiken 3 bytes, en emoji gebruiken 4 bytes. Elke byte wordt als een afzonderlijke groep weergegeven.

Is dit ASCII of UTF-8?

UTF-8. Bij gewone Engelse tekst is het resultaat hetzelfde als bij ASCII, omdat UTF-8 compatibel is met ASCII. Tekens buiten ASCII kunnen niet met alleen ASCII worden weergegeven.

Waarom krijg ik een foutmelding bij het decoderen van binair?

Elke byte mag maximaal 8 binaire cijfers bevatten en alleen uit 0 en 1 bestaan. Zonder spaties moet het totale aantal cijfers een veelvoud van 8 zijn. In de foutmelding staat welke byte niet kon worden gelezen.

Wat betekent “geen geldige UTF-8”?

De bytes vormen geen geldige UTF-8-reeksen, bijvoorbeeld door een losse byte boven 127 of een reeks die halverwege eindigt. De gegevens zijn mogelijk afkomstig uit een bestand met een andere codering, zoals Windows-1252, of zijn helemaal geen tekst.

Privacy

De omzetting vindt plaats in je browser met de ingebouwde UTF-8-encoder en -decoder. Je tekst wordt niet geüpload, opgeslagen of opgenomen in analytics.