ASCII-Tabellenabfrage
Vollständige ASCII-Zeichencode-Referenz mit Steuerzeichen, druckbaren und erweiterten Zeichen
| Dezimal | Hex | Zeichen | Beschreibung | |
|---|---|---|---|---|
| 0 | 0x00 | - | Nullzeichen (Null) | |
| 1 | 0x01 | - | Start der Überschrift | |
| 2 | 0x02 | - | Start des Textes | |
| 3 | 0x03 | - | Ende des Textes | |
| 4 | 0x04 | - | Ende der Übertragung | |
| 5 | 0x05 | - | Anfrage (Enquiry) | |
| 6 | 0x06 | - | Bestätigung (Acknowledge) | |
| 7 | 0x07 | - | Glocke (Bell) | |
| 8 | 0x08 | - | Rücktaste (Backspace) | |
| 9 | 0x09 | - | Horizontale Tabulator | |
| 10 | 0x0A | - | Zeilenvorschub (Line Feed) | |
| 11 | 0x0B | - | Vertikale Tabulator | |
| 12 | 0x0C | - | Formularvorschub | |
| 13 | 0x0D | - | Wagenrücklauf (Carriage Return) | |
| 14 | 0x0E | - | Shift Out | |
| 15 | 0x0F | - | Shift In | |
| 16 | 0x10 | - | Datenverbindungs-Escape | |
| 17 | 0x11 | - | Gerätesteuerung 1 | |
| 18 | 0x12 | - | Gerätesteuerung 2 | |
| 19 | 0x13 | - | Gerätesteuerung 3 | |
| 20 | 0x14 | - | Gerätesteuerung 4 | |
| 21 | 0x15 | - | Negative Bestätigung | |
| 22 | 0x16 | - | Synchrone Leerlauf | |
| 23 | 0x17 | - | Ende des Übertragungsblocks | |
| 24 | 0x18 | - | Abbrechen | |
| 25 | 0x19 | - | Ende des Mediums | |
| 26 | 0x1A | - | Ersetzen | |
| 27 | 0x1B | - | Escape | |
| 28 | 0x1C | - | DateiTrennzeichen | |
| 29 | 0x1D | - | Gruppentrennzeichen | |
| 30 | 0x1E | - | Datensatztrennzeichen | |
| 31 | 0x1F | - | Einheitentrennzeichen | |
| 127 | 0x7F | - | Löschen (Delete) | |
| 32 | 0x20 | ␣ | Leerzeichen (Space) | |
| 33 | 0x21 | ! | Ausrufezeichen | |
| 34 | 0x22 | " | Doppelte Anführungszeichen | |
| 35 | 0x23 | # | Nummernzeichen | |
| 36 | 0x24 | $ | Dollarzeichen | |
| 37 | 0x25 | % | Prozentzeichen | |
| 38 | 0x26 | & | Kaufmännisches Und | |
| 39 | 0x27 | ' | Einfaches Anführungszeichen | |
| 40 | 0x28 | ( | Linke Klammer | |
| 41 | 0x29 | ) | Rechte Klammer | |
| 42 | 0x2A | * | Sternchen | |
| 43 | 0x2B | + | Pluszeichen | |
| 44 | 0x2C | , | Komma | |
| 45 | 0x2D | - | Bindestrich | |
| 46 | 0x2E | . | Punkt | |
| 47 | 0x2F | / | Schrägstrich | |
| 48 | 0x30 | 0 | Ziffer 0 | |
| 49 | 0x31 | 1 | Ziffer 1 | |
| 50 | 0x32 | 2 | Ziffer 2 | |
| 51 | 0x33 | 3 | Ziffer 3 | |
| 52 | 0x34 | 4 | Ziffer 4 | |
| 53 | 0x35 | 5 | Ziffer 5 | |
| 54 | 0x36 | 6 | Ziffer 6 | |
| 55 | 0x37 | 7 | Ziffer 7 | |
| 56 | 0x38 | 8 | Ziffer 8 | |
| 57 | 0x39 | 9 | Ziffer 9 | |
| 58 | 0x3A | : | Doppelpunkt | |
| 59 | 0x3B | ; | Semikolon | |
| 60 | 0x3C | < | Kleiner als | |
| 61 | 0x3D | = | Gleichheitszeichen | |
| 62 | 0x3E | > | Größer als | |
| 63 | 0x3F | ? | Fragezeichen | |
| 64 | 0x40 | @ | At-Zeichen | |
| 65 | 0x41 | A | Großbuchstabe A | |
| 66 | 0x42 | B | Großbuchstabe B | |
| 67 | 0x43 | C | Großbuchstabe C | |
| 68 | 0x44 | D | Großbuchstabe D | |
| 69 | 0x45 | E | Großbuchstabe E | |
| 70 | 0x46 | F | Großbuchstabe F | |
| 71 | 0x47 | G | Großbuchstabe G | |
| 72 | 0x48 | H | Großbuchstabe H | |
| 73 | 0x49 | I | Großbuchstabe I | |
| 74 | 0x4A | J | Großbuchstabe J | |
| 75 | 0x4B | K | Großbuchstabe K | |
| 76 | 0x4C | L | Großbuchstabe L | |
| 77 | 0x4D | M | Großbuchstabe M | |
| 78 | 0x4E | N | Großbuchstabe N | |
| 79 | 0x4F | O | Großbuchstabe O | |
| 80 | 0x50 | P | Großbuchstabe P | |
| 81 | 0x51 | Q | Großbuchstabe Q | |
| 82 | 0x52 | R | Großbuchstabe R | |
| 83 | 0x53 | S | Großbuchstabe S | |
| 84 | 0x54 | T | Großbuchstabe T | |
| 85 | 0x55 | U | Großbuchstabe U | |
| 86 | 0x56 | V | Großbuchstabe V | |
| 87 | 0x57 | W | Großbuchstabe W | |
| 88 | 0x58 | X | Großbuchstabe X | |
| 89 | 0x59 | Y | Großbuchstabe Y | |
| 90 | 0x5A | Z | Großbuchstabe Z | |
| 91 | 0x5B | [ | Linke eckige Klammer | |
| 92 | 0x5C | \ | Umgekehrter Schrägstrich | |
| 93 | 0x5D | ] | Rechte eckige Klammer | |
| 94 | 0x5E | ^ | Caretzeichen | |
| 95 | 0x5F | _ | Unterstrich | |
| 96 | 0x60 | ` | Gravis | |
| 97 | 0x61 | a | Kleinbuchstabe a | |
| 98 | 0x62 | b | Kleinbuchstabe b | |
| 99 | 0x63 | c | Kleinbuchstabe c | |
| 100 | 0x64 | d | Kleinbuchstabe d | |
| 101 | 0x65 | e | Kleinbuchstabe e | |
| 102 | 0x66 | f | Kleinbuchstabe f | |
| 103 | 0x67 | g | Kleinbuchstabe g | |
| 104 | 0x68 | h | Kleinbuchstabe h | |
| 105 | 0x69 | i | Kleinbuchstabe i | |
| 106 | 0x6A | j | Kleinbuchstabe j | |
| 107 | 0x6B | k | Kleinbuchstabe k | |
| 108 | 0x6C | l | Kleinbuchstabe l | |
| 109 | 0x6D | m | Kleinbuchstabe m | |
| 110 | 0x6E | n | Kleinbuchstabe n | |
| 111 | 0x6F | o | Kleinbuchstabe o | |
| 112 | 0x70 | p | Kleinbuchstabe p | |
| 113 | 0x71 | q | Kleinbuchstabe q | |
| 114 | 0x72 | r | Kleinbuchstabe r | |
| 115 | 0x73 | s | Kleinbuchstabe s | |
| 116 | 0x74 | t | Kleinbuchstabe t | |
| 117 | 0x75 | u | Kleinbuchstabe u | |
| 118 | 0x76 | v | Kleinbuchstabe v | |
| 119 | 0x77 | w | Kleinbuchstabe w | |
| 120 | 0x78 | x | Kleinbuchstabe x | |
| 121 | 0x79 | y | Kleinbuchstabe y | |
| 122 | 0x7A | z | Kleinbuchstabe z | |
| 123 | 0x7B | { | Linke geschweifte Klammer | |
| 124 | 0x7C | | | Vertikaler Strich | |
| 125 | 0x7D | } | Rechte geschweifte Klammer | |
| 126 | 0x7E | ~ | Tilde | |
| 128 | 0x80 | | ||
| 129 | 0x81 | | ||
| 130 | 0x82 | | ||
| 131 | 0x83 | | ||
| 132 | 0x84 | | ||
| 133 | 0x85 | |||
| 134 | 0x86 | | ||
| 135 | 0x87 | | ||
| 136 | 0x88 | | ||
| 137 | 0x89 | | ||
| 138 | 0x8A | | ||
| 139 | 0x8B | | ||
| 140 | 0x8C | | ||
| 141 | 0x8D | | ||
| 142 | 0x8E | | ||
| 143 | 0x8F | | ||
| 144 | 0x90 | | ||
| 145 | 0x91 | | ||
| 146 | 0x92 | | ||
| 147 | 0x93 | | ||
| 148 | 0x94 | | ||
| 149 | 0x95 | | ||
| 150 | 0x96 | | ||
| 151 | 0x97 | | ||
| 152 | 0x98 | | ||
| 153 | 0x99 | | ||
| 154 | 0x9A | | ||
| 155 | 0x9B | | ||
| 156 | 0x9C | | ||
| 157 | 0x9D | | ||
| 158 | 0x9E | | ||
| 159 | 0x9F | | ||
| 160 | 0xA0 | |||
| 161 | 0xA1 | ¡ | ||
| 162 | 0xA2 | ¢ | ||
| 163 | 0xA3 | £ | ||
| 164 | 0xA4 | ¤ | ||
| 165 | 0xA5 | ¥ | ||
| 166 | 0xA6 | ¦ | ||
| 167 | 0xA7 | § | ||
| 168 | 0xA8 | ¨ | ||
| 169 | 0xA9 | © | ||
| 170 | 0xAA | ª | ||
| 171 | 0xAB | « | ||
| 172 | 0xAC | ¬ | ||
| 173 | 0xAD | | ||
| 174 | 0xAE | ® | ||
| 175 | 0xAF | ¯ | ||
| 176 | 0xB0 | ° | ||
| 177 | 0xB1 | ± | ||
| 178 | 0xB2 | ² | ||
| 179 | 0xB3 | ³ | ||
| 180 | 0xB4 | ´ | ||
| 181 | 0xB5 | µ | ||
| 182 | 0xB6 | ¶ | ||
| 183 | 0xB7 | · | ||
| 184 | 0xB8 | ¸ | ||
| 185 | 0xB9 | ¹ | ||
| 186 | 0xBA | º | ||
| 187 | 0xBB | » | ||
| 188 | 0xBC | ¼ | ||
| 189 | 0xBD | ½ | ||
| 190 | 0xBE | ¾ | ||
| 191 | 0xBF | ¿ | ||
| 192 | 0xC0 | À | ||
| 193 | 0xC1 | Á | ||
| 194 | 0xC2 | Â | ||
| 195 | 0xC3 | Ã | ||
| 196 | 0xC4 | Ä | ||
| 197 | 0xC5 | Å | ||
| 198 | 0xC6 | Æ | ||
| 199 | 0xC7 | Ç | ||
| 200 | 0xC8 | È | ||
| 201 | 0xC9 | É | ||
| 202 | 0xCA | Ê | ||
| 203 | 0xCB | Ë | ||
| 204 | 0xCC | Ì | ||
| 205 | 0xCD | Í | ||
| 206 | 0xCE | Î | ||
| 207 | 0xCF | Ï | ||
| 208 | 0xD0 | Ð | ||
| 209 | 0xD1 | Ñ | ||
| 210 | 0xD2 | Ò | ||
| 211 | 0xD3 | Ó | ||
| 212 | 0xD4 | Ô | ||
| 213 | 0xD5 | Õ | ||
| 214 | 0xD6 | Ö | ||
| 215 | 0xD7 | × | ||
| 216 | 0xD8 | Ø | ||
| 217 | 0xD9 | Ù | ||
| 218 | 0xDA | Ú | ||
| 219 | 0xDB | Û | ||
| 220 | 0xDC | Ü | ||
| 221 | 0xDD | Ý | ||
| 222 | 0xDE | Þ | ||
| 223 | 0xDF | ß | ||
| 224 | 0xE0 | à | ||
| 225 | 0xE1 | á | ||
| 226 | 0xE2 | â | ||
| 227 | 0xE3 | ã | ||
| 228 | 0xE4 | ä | ||
| 229 | 0xE5 | å | ||
| 230 | 0xE6 | æ | ||
| 231 | 0xE7 | ç | ||
| 232 | 0xE8 | è | ||
| 233 | 0xE9 | é | ||
| 234 | 0xEA | ê | ||
| 235 | 0xEB | ë | ||
| 236 | 0xEC | ì | ||
| 237 | 0xED | í | ||
| 238 | 0xEE | î | ||
| 239 | 0xEF | ï | ||
| 240 | 0xF0 | ð | ||
| 241 | 0xF1 | ñ | ||
| 242 | 0xF2 | ò | ||
| 243 | 0xF3 | ó | ||
| 244 | 0xF4 | ô | ||
| 245 | 0xF5 | õ | ||
| 246 | 0xF6 | ö | ||
| 247 | 0xF7 | ÷ | ||
| 248 | 0xF8 | ø | ||
| 249 | 0xF9 | ù | ||
| 250 | 0xFA | ú | ||
| 251 | 0xFB | û | ||
| 252 | 0xFC | ü | ||
| 253 | 0xFD | ý | ||
| 254 | 0xFE | þ | ||
| 255 | 0xFF | ÿ |
Was ist ASCII?
ASCII (American Standard Code for Information Interchange) ist ein Zeichenkodierungsstandard basierend auf dem lateinischen Alphabet. Ursprünglich für die Telegrafenkommunikation entwickelt, wurde es zum grundlegenden Zeichenkodierungssystem in der Computerwelt. Standard-ASCII enthält 128 Zeichen (0-127), einschließlich 33 Steuerzeichen und 95 druckbare Zeichen. Praktisch ist eine ASCII-Tabelle vor allem beim Debuggen von Encodings, Steuerzeichen, Protokollen, Escape-Sequenzen und alten Dateiformaten. Dezimal-, Hex- und Binärwerte zeigen, wie ein Zeichen tatsächlich gespeichert oder übertragen wird. Moderne Texte verwenden meist Unicode, daher deckt ASCII nur den historischen 7-Bit-Kern ab. Für internationale Zeichen, Emoji oder typografische Sonderzeichen muss zusätzlich Unicode betrachtet werden.
Anleitung
Grundbedienung
- Auf einen beliebigen Wert oder ein Zeichen klicken, um es zu kopieren
- Das Suchfeld verwenden, um schnell bestimmte Zeichen zu finden
- Auf Kategorie-Schaltflächen klicken, um nach Zeichentyp zu filtern
- Mit der Maus über Zeichen fahren, um detaillierte Beschreibungen anzuzeigen
Hinweise zur Kodierung
- ASCII deckt nur den Bereich 0–127 ab; Sonderzeichen, Emojis und die meisten nicht-englischen Texte erfordern Unicode-Kodierungen wie UTF-8.
- Steuerzeichen sind möglicherweise nicht sichtbar, können aber dennoch Dateien, Terminals, Protokolle und kopierten Text beeinflussen.
Anwendungsfälle
Technisches Prinzip
ASCII (American Standard Code for Information Interchange, ANSI X3.4-1968, ISO/IEC 646:1991 IRV) ist eine 7-Bit-Zeichenkodierung, die numerische Codes 0–127 auf 128 Zeichen abbildet. Die unteren 32 Codes (0x00–0x1F) plus 0x7F sind Steuerzeichen, die von Fernschreibern übernommen wurden: NUL (0x00), BEL (0x07, der Alarmton), LF (0x0A, Zeilenvorschub), CR (0x0D, Wagenrücklauf), ESC (0x1B), DEL (0x7F) usw. Codes 0x20–0x7E sind druckbar: Leerzeichen, die Ziffern 0–9 bei 0x30–0x39, die Großbuchstaben A–Z bei 0x41–0x5A, die Kleinbuchstaben a–z bei 0x61–0x7A und Satzzeichen dazwischen. Die Kodierung hat eine bewusst regelmäßige Struktur. Die Ziffern sind gruppiert: '0' = 0x30, '1' = 0x31, ..., '9' = 0x39. Die Umrechnung eines Ziffernzeichens in seinen numerischen Wert ist `code - 0x30`. Die Buchstaben sind ebenfalls gruppiert: 'A' = 0x41, 'B' = 0x42, ..., 'Z' = 0x5A, und 'a' = 0x61, ..., 'z' = 0x7A. Die Differenz zwischen Groß- und Kleinbuchstabe desselben Buchstabens beträgt 0x20 (32), was genau ein gesetztes Bit an Position 5 ist (1 << 5 = 32). Damit wird die Groß-/Kleinschreibung zu einem einzigen XOR oder OR/AND mit 0x20: `code ^ 0x20` tauscht die Groß-/Kleinschreibung, `code | 0x20` wandelt in Kleinbuchstaben, `code & 0x5F` (= `code & ~0x20`) wandelt in Großbuchstaben. Dieser Bit-Trick ist die schnellste mögliche Groß-/Kleinschreibungsumwandlung und findet sich in strlen/strcmp-Implementierungen für rein-ASCII-Zeichenketten. ASCII wurde für 7-Bit-Fernschreiber und den vorangegangenen 5-stufigen Baudot-Code entworfen und existierte daher vor den 8-Bit-Bytes. Der 8-Bit-„erweiterte ASCII“-Bereich (0x80–0xFF) wurde nie standardisiert, weshalb so viele Codepages (ISO 8859-1 Latin-1, Windows-1252, MacRoman, KOI8-R, IBM437) um die obere Hälfte konkurrierten. ISO 8859-1 (Latin-1) war das nächste an einem Standard, fehlte aber das Eurozeichen bis ISO 8859-15. Der C1-Steuerbereich (0x80–0x9F) sollte reserviert sein (ISO 6429), aber Windows-1252 verwendete einige davon für druckbare Zeichen — ein langjähriges Interoperabilitätsproblem, das UTF-8 endgültig löste. UTF-8 (RFC 3629, 2003) wurde 1992 von Rob Pike und Ken Thompson als abwärtskompatible Obermenge entworfen: Die 128 ASCII-Codes kodieren sich selbst als einzelne Bytes (0x00–0x7F), sodass jeder ASCII-Text auch ein gültiger UTF-8-Text ist. Codes über 0x7F verwenden 2-, 3- oder 4-Byte-Sequenzen mit spezifischen Bitmustern (110xxxxx 10xxxxxx, 1110xxxx 10xxxxxx 10xxxxxx, 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx), sodass ein Decoder nach einem Fehler byteweise resynchronisieren kann. EBCDIC hingegen war IBMs 8-Bit-Großrechner-Kodierung (8-Bit EBCDIC war 8-Bit, nicht 7-Bit wie ASCII) und weist Buchstaben nicht zusammenhängende Codestellen zu ('A' = 0xC1, 'I' = 0xC9, 'J' = 0xD1, ..., mit Lücken, die Bit-Tricks und Zeichenkettenalgorithmen beeinträchtigen). Nationale Varianten von ISO 646 ersetzten eine kleine Anzahl von ASCII-Zeichen durch länderspezifische Buchstaben. Die britische Variante ersetzte 0x23 (das amerikanische '#') durch das Pfundzeichen '£', und die deutsche Variante ersetzte einige Satzzeichen durch Umlaute. Daher waren C-Locale-Einstellungen und POSIX-Charmap-Dateien historisch wichtig — sie bildeten zwischen dem IRV (International Reference Version) und nationalen Varianten ab. Der Ausweg aus diesem Durcheinander ist Unicode / UTF-8, der die gesamte 7-Bit- und 8-Bit-Debatte für jedes neue Projekt obsolet macht.
- ASCII (ANSI X3.4-1968, ISO/IEC 646 IRV) verwendet 7 Bit pro Zeichen mit 128 Codepoints: 33 Steuerzeichen (0x00–0x1F, 0x7F) und 95 druckbare Zeichen (0x20–0x7E).
- Steuerzeichen (0x00–0x1F, 0x7F) wurden von Fernschreibern übernommen: NUL, BEL (0x07, Alarmton), LF (0x0A), CR (0x0D), ESC (0x1B), DEL (0x7F). Moderne Texte verwenden noch LF und CR; der Rest ist größtenteils Geschichte.
- Druckbares Layout: Leerzeichen (0x20), Ziffern '0'–'9' (0x30–0x39), Großbuchstaben 'A'–'Z' (0x41–0x5A), Kleinbuchstaben 'a'–'z' (0x61–0x7A), Satzzeichen dazwischen. '5' zu 5 wird via `code - 0x30`; Groß- zu Kleinbuchstabe via `code | 0x20`.
- Die Groß-/Kleinschreibungsumwandlung ist eine einzelne Bit-Operation: XOR 0x20 tauscht Groß-/Klein; OR 0x20 erzeugt Kleinbuchstaben; AND 0x5F (= `code & ~0x20`) erzeugt Großbuchstaben. Das ist die schnellste Groß-/Kleinschreibungsumwandlung in jeder Sprache und so funktionieren strlen/strcmp auf reinen ASCII-Puffern.
- 8-Bit-Erweiterungen (0x80–0xFF) wurden nie standardisiert, daher definierten Windows-1252, ISO-8859-1, MacRoman, KOI8-R und IBM437 die obere Hälfte unterschiedlich. Windows-1252 setzte sich im Web durch und ist das faktische „erweiterte ASCII“, das der meiste Legacy-Code verwendet.
- UTF-8 (RFC 3629, Pike & Thompson 1992) ist eine strikte Obermenge von ASCII: Die 128 ASCII-Codepoints kodieren sich selbst in 1 Byte; Codepoints über U+007F verwenden 2–4 Bytes mit 110xxxxx 10xxxxxx-Fortsetzungsbytes, sodass Decoder nach Fehlern byteweise resynchronisieren können.
- EBCDIC (IBM, 1960er Großrechner) ist die 8-Bit-Alternative zu ASCII auf IBM z/OS. Buchstabenpositionen sind nicht zusammenhängend ('A'=0xC1, 'I'=0xC9, 'J'=0xD1), daher funktioniert der ASCII-Groß-/Kleinschreibungs-Trick nicht und Bit-Shift-Algorithmen wie tolower() benötigen Tabellenlookups.
- ISO-646-Ländervarianten (britisch, deutsch, schwedisch usw.) ersetzten eine kleine Anzahl von ASCII-Zeichen durch länderspezifische Buchstaben: Die britische Variante tauschte '#' gegen '£' bei 0x23, die deutsche Variante tauschte Satzzeichen gegen Umlaute. Vor-Unicode-Lokalisierung in Kürze.
Beispiele
Schnelle Zeichen-Suche
Zeichen: 'A'
Dezimal: 65
Hex: 0x41
Binär: 01000001
Oktal: 0101
C-Escape: \x41 ('\x41' in C / C++ / Python / JavaScript)
Der Unterschied zwischen Groß- und Kleinbuchstaben beträgt 0x20 (32 dezimal):
'a' = 0x61 (97) = 'A' (0x41) + 0x20
'A' = 0x41 (65) = 'a' (0x61) - 0x20
Deshalb kippt das Umschalten von Bit 5 (Maske 0x20) die Groß-/Kleinschreibung eines Buchstabens.
ch ^ 0x20 kippt A <-> a (funktioniert für A-Z, a-z, lässt andere unverändert)Probleme mit Zeilenumbrüchen debuggen
LF (0x0A, dezimal 10) - Unix, Linux, modernes macOS '\n'
CR (0x0D, dezimal 13) - klassisches Mac OS (vor OS X), einige Netzwerkprotokolle '\r'
CRLF (0x0D 0x0A, '13 10') - Windows, HTTP, SMTP, FTP '\r\n'
Hex-Dump einer unter Windows gespeicherten Datei 'hi\r\n':
0000: 68 69 0d 0a hi..
Hex-Dump desselben Inhalts unter Linux gespeichert ('hi\n'):
0000: 68 69 0a hi.
Auswirkung auf die Zeilenanzahl:
$ wc -l windows.txt unix.txt
1 windows.txt (1 Zeilenumbruch, 0x0D 0x0A)
1 unix.txt (1 Zeilenumbruch, 0x0A)
Die Byte-Anzahl unterscheidet sich (4 vs 3) und Tools wie dos2unix erkennen dies durch
Suchen nach 0x0D 0x0A-Paaren und Entfernen des 0x0D.URL-Kodierungs-Referenz
RFC 3986 unreserved + reserved-Menge (alles andere muss prozentkodiert werden):
unreserved A-Z a-z 0-9 - _ . ~
reserved ! * ' ( ) ; : @ & = + $ , / ? # [ ]
alles andere als %HH kodieren, wobei HH die zweistellige Hex-Zahl in Großbuchstaben ist
Häufige Zeichen:
Leerzeichen 0x20 -> %20 (oder '+' innerhalb von application/x-www-form-urlencoded)
! 0x21 -> %21
" 0x22 -> %22
# 0x23 -> %23
$ 0x24 -> %24
% 0x25 -> %25
& 0x26 -> %26 (Trennzeichen in Query-Strings - in Werten immer kodieren)
' 0x27 -> %27
( 0x28 -> %28
) 0x29 -> %29
+ 0x2B -> %2B (oder %20 in Form-Bodys; '+' bedeutet dort Leerzeichen)
, 0x2C -> %2C
/ 0x2F -> %2F (im Pfad reserviert, in der Query oft sicher)
: 0x3A -> %3A
; 0x3B -> %3B
= 0x3D -> %3D
? 0x3F -> %3F
@ 0x40 -> %40
Beispiel: https://example.com/path with space and ampersand
Kodiert: https://example.com/path%20with%20space%20%26%20ampersandSteuerzeichen-Escapes und Regex-Metazeichen
Häufige Steuercodes und ihre Escape-Formen in C / Python / JavaScript-Strings:
NUL 0x00 '\0' (String-Terminator in C)
BEL 0x07 '\a' (Terminal-Glocke)
BS 0x08 '\b' (Rückschritt)
TAB 0x09 '\t' (horizontaler Tabulator)
LF 0x0A '\n' (Zeilenumbruch)
VT 0x0B '\v' (vertikaler Tabulator)
FF 0x0C '\f' (Seitenvorschub)
CR 0x0D '\r' (Wagenrücklauf)
ESC 0x1B '\x1b' / '\e' (POSIX) (Beginn einer Escape-Sequenz)
DEL 0x7F '\x7f' (Löschen)
Regex-Metazeichen, die mit \ escaped werden müssen:
^ $ . | ? * + ( ) [ ] { } \
JavaScript-Snippet, das die Tabelle oben nachbildet:
const ctrl = { 0:'NUL', 9:'TAB', 10:'LF', 13:'CR', 27:'ESC', 32:'SP', 127:'DEL' };
for (const [code, name] of Object.entries(ctrl)) {
console.log(`${code.toString().padStart(3)} 0x${(+code).toString(16).padStart(2,'0')} ${name}`);
}
// -> ' 0x20 SP' 0a LF 0d CR etc.FAQ
Wie groß ist die ASCII-Tabelle?
Standard-ASCII hat 128 Codepunkte (0-127): 33 Steuerzeichen (0-31 plus 127 DEL) und 95 druckbare Zeichen (Leerzeichen bis ~). 'Erweitertes ASCII' bezeichnet diverse Single-Byte-Kodierungen mit 256 Codepunkten wie Windows-1252 oder ISO-8859-1, die eigentlich kein ASCII mehr sind.
Warum steht bei Zeichen 32 'Space' statt einer sichtbaren Glyphe?
Codepunkt 32 (0x20) ist das Leerzeichen selbst. Es ist druckbar, aber unsichtbar. Die Seite zeigt das Label 'SP' oder 'Space', damit du es kopieren kannst; ein Klick auf die Zeile kopiert weiterhin ein echtes Leerzeichen in die Zwischenablage.
Wofür sind die ersten 32 ASCII-Codes?
Es sind Steuerzeichen aus der Fernschreiber-Ära: TAB (9), LF (10), CR (13), ESC (27) und andere. Moderne Software nutzt noch TAB, LF, CR und NUL (0); der Rest (BEL, ACK, ENQ usw.) ist überwiegend historisch und taucht nur noch in seriellen Protokollen und Binärdatei-Headern auf.
Ist ASCII dasselbe wie UTF-8?
ASCII ist eine 7-Bit-Kodierung für Englisch. UTF-8 ist eine Kodierung mit variabler Länge, die für die ersten 128 Codepunkte byte-kompatibel zu ASCII ist — jede reine ASCII-Datei ist also auch gültiges UTF-8. UTF-8 ergänzt 2-4-Byte-Sequenzen, um den Rest von Unicode abzudecken.
Wie konvertiere ich ein Zeichen zwischen Dezimal, Hex und Binär?
Wähle eine Zeile, um alle vier Darstellungen zu sehen. Beispiel: 'A' ist dezimal 65, hex 0x41, oktal 0101, binär 01000001. Die Char-Spalte zeigt die Glyphe selbst, die Description-Spalte den offiziellen Unicode-Namen.
Warum führt diese Tabelle é, ñ oder 中 nicht?
Diese Zeichen liegen außerhalb des ASCII-Bereichs. é und ñ stehen in Latin-1 (Codepunkte 233 und 241); 中 liegt in CJK Unified Ideographs (U+4E2D). Nutze dafür ein Unicode-Lookup-Tool — ASCII reicht nur bis 127.
Wie tippe ich ein Zeichen, wenn ich nur den ASCII-Code kenne?
Unter Windows hältst du Alt gedrückt und tippst den Dezimalcode auf dem Ziffernblock (Alt+65 für A). Unter macOS und Linux fügst du das Zeichen aus dieser Tabelle ein oder nutzt die Hex-Code-Funktion der Eingabemethode. Im Code: \xNN (hex), \NNN (oktal), chr(N) (Python) oder String.fromCharCode(N) (JavaScript).