Der ASCII-Code ist eine 7- bzw. 8-Bit-Kodierung, die sich auf nahezu alle auf einer englischen Computertastatur vorhandenen Zeichen stützt. Sie wurde 1963 eingeführt und dient als Grundlage für andere Codes mit mehr Bits.
Um über weite Distanzen zu kommunizieren, ist es nötig, die Information zu kodieren. Das Morsen stellte die erste Möglichkeit der Kodierung von Texten bzw. Sprache dar. 1844 entwickelte Samuel F. B. Morse das erste Morsegerät. Sein Code bestand aus Punkten und Strichen (also in gewisser Weise ein binärer Code). Durch das Morsen war Kommunikation viel schneller möglich als mit dem damaligen Postsystem der Vereinigten Staaten, dem Pony Express. Der Telegrafist war eine Person von entscheidender Bedeutung, er musste den Code genau kennen.
Es wurden zahlreiche andere Codes erfunden, wie der von Émile Baudot (Baudot-Code, im Englischen Murray Code genannt).
Am 10. März 1876 stellte Graham Bell das Telefon vor, eine revolutionäre Neuerung, mit der akustische Informationen über Metallleitungen weitergegeben werden konnten. Als wahrer Erfinder wurde vom US-amerikanischen Repräsentantenhaus allerdings Antonio Meucci anerkannt. Dieser hatte bereits 1871 einen Patentantrag für das Telefon gestellt, konnte es aber nach 1874 nicht weiter finanzieren.
Die Telefonleitungen trugen zur Entwicklung von Fernschreibern bei, Geräte, mit denen Zeichen im Baudot-Code kodiert und dekodiert werden konnten. Die Zeichen waren auf 5 Bits kodiert, es gab also lediglich 32 Zeichen.
In den 1960er Jahren wurde der ASCII-Code (American Standard Code for Information Interchange, zu Deutsch Amerikanischer Standardcode für Informationsaustausch) als Standard festgelegt. Er ermöglicht das Kodieren von Zeichen auf 7 und erweitert auf 8 Bits, er hat also 256 mögliche Zeichen.
Der Computerspeicher speichert alle Daten in digitaler Form. Zeichen können nicht direkt gespeichert werden. Jedes Zeichen hat daher ein Äquivalent in digitalem Code: dies ist der ASCII-Code. Der Basis-ASCII-Code stellte die Zeichen auf 7 Bits dar (also 128 mögliche Zeichen von 0 bis 127).
Die Codes 0 bis 31 sind keine Zeichen. Man nennt sie Steuerzeichen, weil man mit ihnen bestimmte Aktionen durchführen kann, wie Wagenrücklauf (CR) für den Zeilenumbruch und Tonsignal (BEL).
Die Codes 65 bis 90 stehen für Großbuchstaben.
Die Codes 97 bis 122 stehen für Kleinbuchstaben.
Hinweis: um von Groß- auf Kleinbuchstaben zu wechseln, genügt es, das sechste Bit zu ändern, also 32 zum ASCII-Code auf Dezimalbasis dazuzuzählen.
Zeichen | ASCII-Code | Hexadezimaler Code |
---|---|---|
NUL (Null) | 0 | 0 |
SOH (Start of heading) | 1 | 1 |
STX (Start of text) | 2 | 2 |
ETX (End of text) | 3 | 3 |
EOT (End of transmission) | 4 | 4 |
ENQ (Enquiry) | 5 | 5 |
ACK (Acknowledge) | 6 | 6 |
BEL (Bell) | 7 | 7 |
BS (Backspace) | 8 | 8 |
TAB (horizontale Tabulation) | 9 | 9 |
LF (Line feed, Zeilenumbruch) | 10 | 0A |
VT (Vertical tabulation, vertikale Tabulation) | 11 | 0B |
FF (Form feed) | 12 | 0C |
CR (Carriage return, Wagenrücklauf) | 13 | 0D |
SO (Shift out) | 14 | 0E |
SI (Shift in) | 15 | 0F |
DLE (Data link escape) | 16 | 10 |
DC1 (Device control 1) | 17 | 11 |
DC2 (Device control 2) | 18 | 12 |
DC3 (Device control 3) | 19 | 13 |
DC4 (Device control 4) | 20 | 14 |
NAK (Negative acknowledgement) | 21 | 15 |
SYN (Synchronous idle) | 22 | 16 |
ETB (End of transmission block, Ende des Übertragungsblocks) | 23 | 17 |
CAN (Cancel, Abbrechen) | 24 | 18 |
EM (End of medium, Ende des Mediums) | 25 | 19 |
SUB (Substitute, Substitut) | 26 | 1A |
ESC (Escape) | 27 | 1B |
FS (File separator, Dateitrenner) | 28 | 1C |
GS (Group separator, Gruppentrenner) | 29 | 1D |
RS (Record separator, Datensatz-Trenner) | 30 | 1E |
US (Unit separator, Einheiten-Trenner) | 31 | 1F |
SP (Space, Leerzeichen) | 32 | 20 |
! | 33 | 21 |
" | 34 | 22 |
# | 35 | 23 |
$ | 36 | 24 |
% | 37 | 25 |
& | 38 | 26 |
' | 39 | 27 |
( | 40 | 28 |
) | 41 | 29 |
* | 42 | 2A |
+ | 43 | 2B |
, | 44 | 2C |
- | 45 | 2D |
. | 46 | 2E |
/ | 47 | 2F |
0 | 48 | 30 |
1 | 49 | 31 |
2 | 50 | 32 |
3 | 51 | 33 |
4 | 52 | 34 |
5 | 53 | 35 |
6 | 54 | 36 |
7 | 55 | 37 |
8 | 56 | 38 |
9 | 57 | 39 |
: | 58 | 3A |
; | 59 | 3B |
< | 60 | 3C |
= | 61 | 3D |
> | 62 | 3E |
? | 63 | 3F |
@ | 64 | 40 |
A | 65 | 41 |
B | 66 | 42 |
C | 67 | 43 |
D | 68 | 44 |
E | 69 | 45 |
F | 70 | 46 |
G | 71 | 47 |
H | 72 | 48 |
I | 73 | 49 |
J | 74 | 4A |
K | 75 | 4B |
L | 76 | 4C |
M | 77 | 4D |
N | 78 | 4E |
O | 79 | 4F |
P | 80 | 50 |
Q | 81 | 51 |
R | 82 | 52 |
S | 83 | 53 |
T | 84 | 54 |
U | 85 | 55 |
V | 86 | 56 |
W | 87 | 57 |
X | 88 | 58 |
Y | 89 | 59 |
Z | 90 | 5A |
[ | 91 | 5B |
\ | 92 | 5C |
] | 93 | 5D |
^ | 94 | 5E |
_ | 95 | 5F |
' | 96 | 60 |
a | 97 | 61 |
b | 98 | 62 |
c | 99 | 63 |
d | 100 | 64 |
e | 101 | 65 |
f | 102 | 66 |
g | 103 | 67 |
h | 104 | 68 |
i | 105 | 69 |
j | 106 | 6A |
k | 107 | 6B |
l | 108 | 6C |
m | 109 | 6D |
n | 110 | 6E |
o | 111 | 6F |
p | 112 | 70 |
q | 113 | 71 |
r | 114 | 72 |
s | 115 | 73 |
t | 116 | 74 |
u | 117 | 75 |
v | 118 | 76 |
w | 119 | 77 |
x | 120 | 78 |
y | 121 | 79 |
z | 122 | 7A |
{ | 123 | 7B |
124 | 7C | |
} | 125 | 7D |
~ | 126 | 7E |
Unterdrückungstaste | 127 | 7F |
Der-ASCII Code wurde für die englische Sprache entwickelt. Er enthält daher keine akzentuierten Zeichen oder für andere Sprachen spezielle Zeichen. Um solche Zeichen zu kodieren, muss man auf einen anderen Code zurückgreifen. Daher wurde der ASCII-Code auf 8 Bits (ein Byte) erweitert, um mehr Zeichen kodieren zu können. Man spricht vom erweiterten ASCII-Code.
Bei diesem Code stehen die Werte von 0 bis 255 (dann auf 8 Bits kodiert, also einem Byte) für die Groß- und Kleinbuchstaben, Zahlen, Satzzeichen und anderen Zeichen (zum Beispiel akzentuierte Zeichen im Fall des Codes iso-latin1).
Der erweiterte ASCII-Code ist nicht eindeutig und hängt von der verwendeten Plattform ab. Die zwei am häufigsten verwendeten Zeichensätze des erweiterten ASCII-Codes sind:
Erweiterter OEM-ASCII-Code: Mit diesem Code wurden die ersten Rechner des Typs IBM PC ausgestattet.
Erweiterter ANSI-ASCII-Code: Er wird von modernen Betriebssystemen verwendet.
Der von IBM entwickelte Code EBCDIC (Extended Binary-Coded Decimal Interchange Code) erlaubt die Kodierung von Zeichen auf 8 Bits. Obwohl er auf IBM-Rechnern oft eingesetzt wird, war er nie so erfolgreich wie der ASCII-Code.
Der Code Unicode ist ein Kodierungssystem für Zeichen auf 16 Bits, das 1991 entwickelt wurde. Das Unicode-System ermöglicht die Darstellung jedes Zeichens auf 16 Bits, unabhängig vom Betriebssystem oder der Programmiersprache. So vereint es beinahe alle existierenden Alphabete (arabisch, armenisch, kyrillisch, griechisch, hebräisch, lateinisch usw.) und ist mit dem ASCII-Code kompatibel.
Alle Unicode-Codes sind auf der Seite http://www.unicode.org einsehbar.
Foto: © Pixabay.