Codepage 437
aus Wikipedia, der freien Enzyklopädie
Die von IBM-PCs 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:
.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 |
A0 |
Der Zeichensatz basiert auf ASCII, mit folgenden Änderungen und Ergänzungen:
- Dem C0-Steuerzeichenbereich (0x00–0x1F hex) sind Grafikzeichen zugeordnet. Die Codes können sowohl ihrer eigentlichen Funktion zur Steuerung dienen (Unter DOS erzeugt z. B. die Eingabe von echo Leertaste Strg+G Enter einen Pieps, und das sogar an der Eingabeaufforderung unter Windows XP) als auch auf dem Bildschirm angezeigt werden, zum Beispiel in einem Texteditor. Die Grafikzeichen sind sehr verschieden, vom Smiley über Spielkartenfarben zu Musiknoten. Auch Code 0x7F, DEL, zeigt eine Grafik – ein Haus.
- Dem hochbittigen Bereich, 0x80-0xFF, 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 auch zugleich als deutsches ß herhalten muss.
- Der Bereich von 0xC0 bis 0xDF wurde ausschließlich für Grafikzeichen (Rahmenzeichen, engl: "box drawing characters") benutzt, da die MDA-Grafikkarten des ersten IBM PC (und später auch die VGA) diese Zeichen gesondert behandelten: Im Textmodus wird jedes Zeichen mit 9 Pixeln Breite dargestellt, da dies den Abstand zwischen den Zeichen und damit die Lesbarkeit erhöht. Die Zeichensätze enthalten jedoch nur 8 Pixel breite Zeichen. Die 9. Pixelspalte wird daher normalerweise einfach in der Hintergrundfarbe gezeichnet. Dies hätte bei den Rahmenzeichen jedoch unschöne Lücken zwischen den Zeichen zur Folge. Durch ein spezielles Register in der Grafikkarte lässt sich jedoch aktivieren, dass die 9. Pixelspalte durch Wiederholung der 8. Pixelspalte gewonnen wird. Dies wird aber nur für die Zeichen aus dem Bereich 0xC0 bis 0xDF angewendet. Aus diesem Grund sind alle Rahmenzeichen, die nach rechts weisende Verbindungslinien enthalten, in diesem Bereich angesiedelt worden.
Das Repertoire von CP437 wurde dem Zeichensatz der Wang-Textverarbeitungs-Maschinen entlehnt, was auch Bill Gates ausdrücklich in einem am 2. Oktober 1995 im Fortune Magazine erschienenen 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.“
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 dass sie (außer einigen der Blockgrafikzeichen und mathematischen Symbolen) die meisten Zeichen beibehielten. Alle Zeichen aus CP437 sind heute im Unicode-Zeichensatz enthalten, sowie in Microsofts WGL4-Zeichensatz und somit auch in den meisten Schriftarten unter Microsoft Windows, und in dem VGA-Font unter Linux (und natürlich den ISO-10646-Fonts für X11).
CP437 verwendet für einige ähnlich aussehende Zeichen die gleiche Zuordnung: 0xE1 steht sowohl für das deutsche ß (U+00DF) als auch für das kleine β (U+03B2); der Apostroph 0x1B wird auch als Akut verwendet.
[Bearbeiten] Weblinks
- MS-DOS Codepage 437 (US) V1.20 by Kosta Kostis
- ASCII-Schriftart Eine ASCII-Schrift für Windows in der Codepage 437