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.
Kodieren von Informationen
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.
Was ist der ASCII-Code?
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.
Tabelle der ASCII-Zeichen
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 |
Erweiterte ASCII-Tabelle
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 EBCDIC-Code
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.
Unicode
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.