Zo gebruik je het
- Kies Coderen om tekst om te zetten naar decimale getallen, of Decoderen om getallen terug te zetten naar tekst.
- Typ of plak je invoer, of open een bestand. Het resultaat wordt bijgewerkt terwijl je typt.
- Kies een Scheidingsteken voor de getallen: Spatie, Komma of Nieuwe regel.
- Kopieer de getallen of download ze als bestand.
Decimale bytewaarden en ASCII-codes
Elk teken wordt in een computer opgeslagen als een of meer bytes, en een byte is gewoon een getal van 0 tot 255. Deze tool schrijft elk van die getallen in gewone decimale notatie. Voor Engelse tekst zijn dat de bekende ASCII-codes: hoofdletters lopen van 65 tot 90, kleine letters van 97 tot 122, de cijfers 0 tot en met 9 van 48 tot 57, en een spatie is 32. Stuurtekens liggen onder 32, bijvoorbeeld 10 voor een line feed en 13 voor een carriage return.
Het resultaat is dezelfde lijst die je krijgt met ord() in Python of door een Uint8Array in JavaScript uit te lezen. Het is een handige manier om onzichtbare tekens, regeleinden of een byte order mark in een string op te sporen.
Eén getal per byte, niet één groot getal
De conversie werkt byte voor byte: een woord van twee letters wordt twee getallen, niet één geheel getal. Waarden boven 127 komen in ASCII-tekst nooit voor. In UTF-8 verschijnen ze in reeksen van twee tot vier bytes die samen één teken vormen. Daarom levert een letter met een accent of een Chinees teken meerdere getallen op. Wil je voor West-Europese tekst één waarde per teken, kies dan ISO-8859-1, waarin elke bytewaarde gelijk is aan het Unicode-codepunt van het teken, of Windows-1252.
Wil je in plaats daarvan één getal naar een ander talstelsel omzetten, bijvoorbeeld 255 naar hexadecimaal, gebruik dan de talstelselconverter. Om dezelfde bytes in andere notaties te zien, probeer je hex of binair.
Decimale bytewaarden in code
# Python
list('Hi'.encode()) # [72, 105]
bytes([72, 105]).decode() # 'Hi'
// JavaScript
[...new TextEncoder().encode('Hi')] // [72, 105]
new TextDecoder().decode(new Uint8Array([72, 105])) // 'Hi'
Specificatie
| Alfabet | 0-9 |
|---|---|
| Uitvoergrootte | 1 tot 3 cijfers per byte, plus scheidingstekens |
| Opvulling | Geen |
| Standaard | Decimale bytewaarden |
| Hoofdlettergevoelig | Nee |
Voorbeelden
| Invoer (UTF-8) | Uitvoer |
|---|---|
Hello, World! | 72 101 108 108 111 44 32 87 111 114 108 100 33 |
Base64.is | 66 97 115 101 54 52 46 105 115 |
你好 | 228 189 160 229 165 189 |
Veelgestelde vragen
Wat is de decimale ASCII-code van A?
Hoofdletter A is 65 en kleine letter a is 97, zowel in ASCII als in UTF-8. Elke volgende letter telt er één bij op, dus Z is 90 en z is 122.
Kan ik decimale getallen zonder scheidingstekens decoderen?
Nee. Een reeks cijfers zoals 72105 kan op meer dan één manier worden opgesplitst, dus de decoder heeft getallen nodig die gescheiden zijn door spaties, komma's, puntkomma's of regeleinden. Voorloopnullen zijn toegestaan.
Waarom geven getallen boven 255 een foutmelding?
Een byte bevat waarden van 0 tot 255. Grotere getallen, zoals het Unicode-codepunt 8364 van het euroteken, zijn geen bytewaarden. Typ het teken zelf en codeer het om de bytes ervan te zien, bijvoorbeeld in UTF-8.
Waarom wordt één teken meerdere getallen?
UTF-8 slaat tekens buiten ASCII op als twee, drie of vier bytes, en elke byte wordt een eigen getal. Kies een tekenset met één byte per teken, zoals Windows-1252, als je één getal per West-Europees teken nodig hebt.