ASCII-Tabelle: alle 128 Zeichen mit Dezimal-, Hex- und Binärwerten
Christoph Schwob·2 Min. Lesezeit
Was ist neu: Zur interaktiven Referenz ausgebaut: Hex, Oktal, Binär, Escape und HTML, Filter und Kopierfunktion, Erklärungen für Entwickler.
Kurz & knapp
ASCII definiert 128 Zeichen mit den Werten 0 bis 127: 33 Steuerzeichen (0–31 und 127, z. B. LF = 10 = 0x0A) und 95 druckbare Zeichen (32–126). Ziffern beginnen bei 48 ('0'), Großbuchstaben bei 65 ('A'), Kleinbuchstaben bei 97 ('a'). Die ersten 128 Zeichen von Unicode bzw. UTF-8 sind mit ASCII identisch.
ASCII (American Standard Code for Information Interchange) ist der Urahn aller Zeichensätze: 128 Zeichen, nummeriert von 0 bis 127, festgelegt in den 1960er-Jahren. Bis heute steckt ASCII in jedem Quelltext, jeder URL und jedem Terminal – und die ersten 128 Zeichen von Unicode sind exakt dieselben.
Die ASCII-Tabelle
Tipp: Klick auf einen Wert kopiert ihn. Blau = Steuerzeichen.
| Dez | Hex | Okt | Binär | Zeichen | Escape (C) | HTML |
|---|---|---|---|---|---|---|
| 000 | 0000000 | NUL | ||||
| 001 | 0000001 | SOH | ||||
| 002 | 0000010 | STX | ||||
| 003 | 0000011 | ETX | ||||
| 004 | 0000100 | EOT | ||||
| 005 | 0000101 | ENQ | ||||
| 006 | 0000110 | ACK | ||||
| 007 | 0000111 | BEL | ||||
| 010 | 0001000 | BS | ||||
| 011 | 0001001 | HT | ||||
| 012 | 0001010 | LF | ||||
| 013 | 0001011 | VT | ||||
| 014 | 0001100 | FF | ||||
| 015 | 0001101 | CR | ||||
| 016 | 0001110 | SO | ||||
| 017 | 0001111 | SI | ||||
| 020 | 0010000 | DLE | ||||
| 021 | 0010001 | DC1 | ||||
| 022 | 0010010 | DC2 | ||||
| 023 | 0010011 | DC3 | ||||
| 024 | 0010100 | DC4 | ||||
| 025 | 0010101 | NAK | ||||
| 026 | 0010110 | SYN | ||||
| 027 | 0010111 | ETB | ||||
| 030 | 0011000 | CAN | ||||
| 031 | 0011001 | EM | ||||
| 032 | 0011010 | SUB | ||||
| 033 | 0011011 | ESC | ||||
| 034 | 0011100 | FS | ||||
| 035 | 0011101 | GS | ||||
| 036 | 0011110 | RS | ||||
| 037 | 0011111 | US | ||||
| 040 | 0100000 | |||||
| 041 | 0100001 | |||||
| 042 | 0100010 | |||||
| 043 | 0100011 | |||||
| 044 | 0100100 | |||||
| 045 | 0100101 | |||||
| 046 | 0100110 | |||||
| 047 | 0100111 | |||||
| 050 | 0101000 | |||||
| 051 | 0101001 | |||||
| 052 | 0101010 | |||||
| 053 | 0101011 | |||||
| 054 | 0101100 | |||||
| 055 | 0101101 | |||||
| 056 | 0101110 | |||||
| 057 | 0101111 | |||||
| 060 | 0110000 | |||||
| 061 | 0110001 | |||||
| 062 | 0110010 | |||||
| 063 | 0110011 | |||||
| 064 | 0110100 | |||||
| 065 | 0110101 | |||||
| 066 | 0110110 | |||||
| 067 | 0110111 | |||||
| 070 | 0111000 | |||||
| 071 | 0111001 | |||||
| 072 | 0111010 | |||||
| 073 | 0111011 | |||||
| 074 | 0111100 | |||||
| 075 | 0111101 | |||||
| 076 | 0111110 | |||||
| 077 | 0111111 | |||||
| 100 | 1000000 | |||||
| 101 | 1000001 | |||||
| 102 | 1000010 | |||||
| 103 | 1000011 | |||||
| 104 | 1000100 | |||||
| 105 | 1000101 | |||||
| 106 | 1000110 | |||||
| 107 | 1000111 | |||||
| 110 | 1001000 | |||||
| 111 | 1001001 | |||||
| 112 | 1001010 | |||||
| 113 | 1001011 | |||||
| 114 | 1001100 | |||||
| 115 | 1001101 | |||||
| 116 | 1001110 | |||||
| 117 | 1001111 | |||||
| 120 | 1010000 | |||||
| 121 | 1010001 | |||||
| 122 | 1010010 | |||||
| 123 | 1010011 | |||||
| 124 | 1010100 | |||||
| 125 | 1010101 | |||||
| 126 | 1010110 | |||||
| 127 | 1010111 | |||||
| 130 | 1011000 | |||||
| 131 | 1011001 | |||||
| 132 | 1011010 | |||||
| 133 | 1011011 | |||||
| 134 | 1011100 | |||||
| 135 | 1011101 | |||||
| 136 | 1011110 | |||||
| 137 | 1011111 | |||||
| 140 | 1100000 | |||||
| 141 | 1100001 | |||||
| 142 | 1100010 | |||||
| 143 | 1100011 | |||||
| 144 | 1100100 | |||||
| 145 | 1100101 | |||||
| 146 | 1100110 | |||||
| 147 | 1100111 | |||||
| 150 | 1101000 | |||||
| 151 | 1101001 | |||||
| 152 | 1101010 | |||||
| 153 | 1101011 | |||||
| 154 | 1101100 | |||||
| 155 | 1101101 | |||||
| 156 | 1101110 | |||||
| 157 | 1101111 | |||||
| 160 | 1110000 | |||||
| 161 | 1110001 | |||||
| 162 | 1110010 | |||||
| 163 | 1110011 | |||||
| 164 | 1110100 | |||||
| 165 | 1110101 | |||||
| 166 | 1110110 | |||||
| 167 | 1110111 | |||||
| 170 | 1111000 | |||||
| 171 | 1111001 | |||||
| 172 | 1111010 | |||||
| 173 | 1111011 | |||||
| 174 | 1111100 | |||||
| 175 | 1111101 | |||||
| 176 | 1111110 | |||||
| 177 | 1111111 | DEL |
Aufbau der Tabelle
| Bereich | Inhalt |
|---|---|
| 0–31 | Steuerzeichen, z. B. LF (10), CR (13), ESC (27) |
| 32 | Leerzeichen |
| 33–47, 58–64, 91–96, 123–126 | Satz- und Sonderzeichen |
| 48–57 | Ziffern 0–9 |
| 65–90 | Großbuchstaben A–Z |
| 97–122 | Kleinbuchstaben a–z |
| 127 | Steuerzeichen DEL |
Umlaute wie ä, ö, ü oder ß gibt es in ASCII nicht – sie kamen erst mit 8-Bit-Erweiterungen wie ISO 8859-1 und schließlich mit Unicode dazu.
Praktische Tricks
Weil die Zeichen geordnet sind, lässt sich mit ihren Werten rechnen:
- Ziffer zu Zahl:
'5'hat den Wert 53,'0'den Wert 48.'5' - '0'ergibt in C (und mitord()in PHP) also die Zahl 5. - Groß- und Kleinbuchstaben liegen genau 32 auseinander:
'A'= 65,'a'= 97. Binär unterscheiden sie sich nur in einem einzigen Bit (0x20).
Umrechnen in PHP und JavaScript
<?php
echo ord('A'); // 65
echo chr(97); // a
echo ord('5') - ord('0'); // 5
echo dechex(ord('A')); // 41
'A'.charCodeAt(0); // 65
String.fromCharCode(97); // 'a'
'A'.charCodeAt(0).toString(16); // '41'
'A'.charCodeAt(0).toString(2); // '1000001'
Zeilenenden: LF und CRLF
Zwei Steuerzeichen begegnen Entwicklern täglich – meist ungewollt:
| System | Zeilenende | Werte | Escape |
|---|---|---|---|
| Linux, macOS, Unix | LF |
10 | \n |
| Windows | CR + LF |
13 + 10 | \r\n |
Mischen sich beide in einem Projekt, zeigt Git plötzlich jede Zeile einer Datei als geändert an. Abhilfe schafft eine .gitattributes im Repository, die Zeilenenden vereinheitlicht:
* text=auto eol=lf
ASCII und Unicode
Unicode umfasst heute weit über hunderttausend Zeichen – aber die ersten 128 Codepoints (U+0000 bis U+007F) sind exakt ASCII. Bei UTF-8 werden diese Zeichen zudem mit genau einem Byte gespeichert. Jeder reine ASCII-Text ist damit automatisch gültiges UTF-8.
Häufige Fragen
Wie viele Zeichen hat ASCII?
128 Zeichen mit den Werten 0 bis 127. Davon sind 33 Steuerzeichen (0–31 und 127) und 95 druckbare Zeichen (32–126, inklusive Leerzeichen).
Was ist der Unterschied zwischen LF und CRLF?
Unix, Linux und macOS beenden Zeilen mit LF (10, \n), Windows mit CR + LF (13 + 10, \r\n). Unterschiedliche Zeilenenden führen z. B. in Git zu scheinbar komplett geänderten Dateien.
Wie bekomme ich den ASCII-Wert eines Zeichens in PHP oder JavaScript?
In PHP mit ord('A') (ergibt 65) und umgekehrt chr(65). In JavaScript mit 'A'.charCodeAt(0) und String.fromCharCode(65).
Ist ASCII dasselbe wie UTF-8?
Nicht ganz: UTF-8 kann alle Unicode-Zeichen darstellen, ist aber so aufgebaut, dass die ersten 128 Zeichen exakt ASCII entsprechen und jeweils mit einem Byte gespeichert werden. Jeder ASCII-Text ist damit auch gültiges UTF-8.
Quellen & weiterführende Links
- RFC 20: ASCII format for Network Interchange (öffnet in neuem Tab) – RFC Editor
- C0 Controls and Basic Latin (U+0000–U+007F) (öffnet in neuem Tab) – Unicode Consortium
- ord (öffnet in neuem Tab) – PHP-Handbuch
- chr (öffnet in neuem Tab) – PHP-Handbuch
- String.prototype.charCodeAt() (öffnet in neuem Tab) – MDN Web Docs
- String.fromCharCode() (öffnet in neuem Tab) – MDN Web Docs
- gitattributes – Zeilenenden (text, eol) (öffnet in neuem Tab) – Git Dokumentation
Geschrieben von
Christoph Schwob (öffnet in neuem Tab)
Ich bin Christoph Schwob, halbkreativer Entwickler aus Österreich und arbeite seit über 10 Jahren an und mit TYPO3. Hier sammle ich Lösungen, Code-Snippets und Notizen rund um TYPO3, macOS, Server, Homelab und alles andere.
Das könnte dich auch interessieren
- PHP: aktuelle URL auslesen – sicher, mit HTTPS & Port – 13. Jänner 2017
- PHP unter macOS installieren und Version wechseln – 5. Dezember 2015
- MAMP & MAMP PRO: Wo liegen die MySQL-Datenbanken? (macOS) – 16. November 2015