Codepage 437

MS-DOS-Codepages
437Englisch
708Arabisch (ASMO)
720Arabisch (Microsoft)
737Griechisch
775Baltisch
850Westeuropäisch
852Mitteleuropäisch
855Kyrillisch
857Türkisch
858Westeuropäisch mit Euro
860Portugiesisch
861Isländisch
862Hebräisch
863Kanadisches Französisch
864Arabisch (IBM)
865Nordisch
866Russisch
869Griechisch
Darstellung der Codepage 437 unter DOS

Die von PC DOS und MS-DOS verwendete Codepage 437, kurz CP437, auch bekannt als DOS-US oder OEM-US, ist der Original-Zeichensatz des IBM-PC ab 1981 und enthält folgende Zeichen: (Die Zahl unterhalb des Symbols ist der Unicode-Wert in hexadezimaler Schreibweise)

…0…1…2…3…4…5…6…7…8…9…A…B…C…D…E…F
0…NULL
0

263A

263B

2665

2666

2663

2660

2022

25D8

25CB

25D9

2642

2640

266A

266B

263C
1…
25BA

25C4

2195

203C

B6
§
A7

25AC

21A8

2191

2193

2192

2190

221F

2194

25B2

25BC
2…
20
!
21
"
22
#
23
$
24
%
25
&
26
'
27
(
28
)
29
*
2A
+
2B
,
2C
-
2D
.
2E
/
2F
3…0
30
1
31
2
32
3
33
4
34
5
35
6
36
7
37
8
38
9
39
:
3A
;
3B
<
3C
=
3D
>
3E
?
3F
4…@
40
A
41
B
42
C
43
D
44
E
45
F
46
G
47
H
48
I
49
J
4A
K
4B
L
4C
M
4D
N
4E
O
4F
5…P
50
Q
51
R
52
S
53
T
54
U
55
V
56
W
57
X
58
Y
59
Z
5A
[
5B
\
5C
]
5D
^
5E
_
5F
6…`
60
a
61
b
62
c
63
d
64
e
65
f
66
g
67
h
68
i
69
j
6A
k
6B
l
6C
m
6D
n
6E
o
6F
7…p
70
q
71
r
72
s
73
t
74
u
75
v
76
w
77
x
78
y
79
z
7A
{
7B
|
7C
}
7D
~
7E

2302
8…Ç
C7
ü
FC
é
E9
â
E2
ä
E4
à
E0
å
E5
ç
E7
ê
EA
ë
EB
è
E8
ï
EF
î
EE
ì
EC
Ä
C4
Å
C5
9…É
C9
æ
E6
Æ
C6
ô
F4
ö
F6
ò
F2
û
FB
ù
F9
ÿ
FF
Ö
D6
Ü
DC
¢
A2
£
A3
¥
A5

20A7
ƒ
192
A…á
E1
í
ED
ó
F3
ú
FA
ñ
F1
Ñ
D1
ª
AA
º
BA
¿
BF

2310
¬
AC
½
BD
¼
BC
¡
A1
«
AB
»
BB
B…
2591

2592

2593

2502

2524

2561

2562

2556

2555

2563

2551

2557

255D

255C

255B

2510
C…
2514

2534

252C

251C

2500

253C

255E

255F

255A

2554

2569

2566

2560

2550

256C

2567
D…
2568

2564

2565

2559

2558

2552

2553

256B

256A

2518

250C

2588

2584

258C

2590

2580
E…α
3B1
ß
DF
Γ
393
π
3C0
Σ
3A3
σ
3C3
µ
B5
τ
3C4
Φ
3A6
Θ
398
Ω
3A9
δ
3B4

221E
φ
3C6
ε
3B5

2229
F…
2261
±
B1

2265

2264

2320

2321
÷
F7

2248
°
B0

2219
·
B7

221A

207F
²
B2

25A0
NBSP
A0
…0…1…2…3…4…5…6…7…8…9…A…B…C…D…E…F

Der Zeichensatz basiert auf ASCII, mit folgenden Änderungen und Ergänzungen:

  • Das Zeichen 7C, der „vertikale Strich“, wird bei fast allen Grafikkarten als Unicode-Zeichen A6hex=„¦“, der unterbrochene Strich, angezeigt.
  • Dem Steuerzeichenbereich 00hex–1Fhex sind verschiedene, mit Ausnahme des Paragraphenzeichens § nicht druckbare Grafikzeichen zugeordnet, die zum einen in ihrer eigentlichen Funktion zur Steuerung dienen können, das unter DOS durch die Eingabe der Befehlszeile echo Leertaste Strg+G Enter erzeugbare Zeichen 07hex etwa zur Ausgabe eines Piepstons (selbst noch in der DOS-Emulation von Vista und Windows 7), zum anderen aber auch dazu, mit geeigneten Texteditoren auf dem Bildschirm angezeigt zu werden. Die für diesen Bereich verwendeten Grafikzeichen sind dabei sehr verschieden, vom Smiley über Spielkartenfarben bis zu Musiknoten.
  • Der Code 7Fhex ist ebenfalls für ein Steuerzeichen, DEL genannt, reserviert – seine Bildschirmdarstellung zeigt als Grafik ein kleines Haus.
Vergleich der Zeichen im Bereich E0 bis EF unter verschiedenen IBM-Grafikstandards.
  • Dem Bereich 80hex bis FFhex sind verschiedene Symbole zugeordnet: einige europäische Schriftzeichen (lateinische Vokale mit Akzenten usw.) ohne besondere Reihenfolge und unzureichend für die meisten europäischen Sprachen, des Weiteren Blockgrafikzeichen, mathematische Symbole und einige griechische Buchstaben, von denen das kleine Beta (β) zugleich auch als deutsches ß herhalten muss. CGA und EGA rendern es als β, VGA als ß.
  • Der Teilbereich von C0hex bis DFhex wurde dabei ausschließlich für Grafikzeichen (Rahmenzeichen, englisch box drawing characters) benutzt, da die MDA-Grafikkarten des ersten IBM PC (und später auch die VGA-Karten) diese Zeichen gesondert behandelten: Im Textmodus nämlich wird jedes Zeichen, um den Abstand zwischen den Zeichen und damit die Lesbarkeit zu erhöhen, mit 9 Pixeln Breite dargestellt, während die Zeichensätze selbst nur 8 Pixel breite Zeichen enthalten, die 9. Pixelspalte also normalerweise einfach in der Hintergrundfarbe gezeichnet wird. Bei den Rahmenzeichen jedoch hätte dies unschöne Lücken zwischen den Zeichen zur Folge gehabt, weshalb man mittels eines speziellen Registers in der Grafikkarte dafür sorgte, dass bei allen Rahmenzeichen, die nach rechts weisende Verbindungslinien aufweisen, die 9. Pixelspalte als Wiederholung der 8. Pixelspalte angezeigt wird und diese Zeichen zur leichteren Verwaltung im Bereich von C0hex bis DFhex zusammengefasst wurden.

Das Repertoire von CP437 wurde dem Zeichensatz der Wang-Textverarbeitungs-Maschinen entlehnt, was auch Bill Gates ausdrücklich in einem Interview von ihm und Paul Allen zugab:

„Auch waren wir fasziniert von den speziellen Textverarbeitungssystemen aus dem Hause Wang, denn wir glaubten, daß Allzweck-Maschinen diese Aufgaben genauso gut lösen könnten. Aus diesem Grund haben wir auch, als die Zeit kam, die Tastatur vom IBM-PC zu entwerfen, den lustigen Wang-Zeichensatz in die Maschine gepackt – Sie wissen schon, Smiley Faces und Kästchen und Dreiecke und so’n Zeugs. Wir dachten, wir würden eines Tages gern mal einen Klon der Wang-Textverarbeitungs-Software schreiben.“

Bill Gates[1]

Der Zeichenkodierung CP437 fehlen Zeichen, die für viele westeuropäische Sprachen nötig sind; so etwa akzentuierte Großbuchstaben für Französisch. Auch enthält sie nur wenige griechische Zeichen. Spätere MS-DOS-Zeichensätze, zum Beispiel Codepage 850 (DOS-Latin-1 und deren Euro-Variante Codepage 858), Codepage 852 (DOS Central-European) und Codepage 737 (DOS Greek), füllten die Lücken für internationale Nutzung, wobei sie insofern zu der Codepage 437 kompatibel blieben, als sie (außer einigen der Blockgrafikzeichen und mathematischen Symbolen) die meisten Zeichen beibehielten.

Alle Zeichen aus CP437 sind heute im Unicode-Zeichensatz sowie in Microsofts WGL4-Zeichensatz (und somit auch in den meisten Schriftarten unter Microsoft Windows) enthalten, des Weiteren im VGA-Font unter Linux und den ISO-10646-Fonts für X11. Eine unverfälschte Darstellung von Texten, die auf CP437-basierten Computern erstellt wurden, also namentlich aller älteren DOS-Texte, ist auf modernen Windows-Systemen nur mit dem gesondert zu installierenden Microsoft-Font MS-LineDraw (siehe unten) möglich, des Weiteren (mit Ausnahme einiger Zeichen) mit dem Systemfont Terminal.

CP437 verwendet für einige ähnlich aussehende Zeichen die gleiche Zuordnung: Code E1hex steht sowohl für das deutsche Eszett ß (U+00DF) als auch für das kleine Beta β (U+03B2); der Apostroph ' (27hex) wird auch als Akut verwendet.

Weblinks

Einzelnachweise

  1. Fortune Magazine, 2. Oktober 1995

Auf dieser Seite verwendete Medien

Dosasciitable CP437.png
Autor/Urheber:

FreeDos/Qemu EGA/VGA Zeichensatz

, Lizenz: CC-by-sa 3.0

Darstellung der Codepage 437 in einem DOS Texteditor unter FreeDos (0xAF wird mit einem '*' anstellen von einem '»' dargestellt)

Code Page 437 E0-EF Comparison.svg
Autor/Urheber: mj.Jernigan, Lizenz: CC BY-SA 4.0
Comparison of characters in the E0 to EF range (primarily Greek characters) from various IBM products. Meant to show how some of the ambiguous characters changed appearance even within IBM.