Codepage 437 – Wikipedia
437 | Englisch |
---|---|
708 | Arabisch (ASMO) |
720 | Arabisch (Microsoft) |
737 | Griechisch |
775 | Baltisch |
850 | Westeuropäisch |
852 | Mitteleuropäisch |
855 | Kyrillisch |
857 | Türkisch |
858 | Westeuropäisch mit Euro |
860 | Portugiesisch |
861 | Isländisch |
862 | Hebräisch |
863 | Kanadisches Französisch |
864 | Arabisch (IBM) |
865 | Nordisch |
866 | Russisch |
869 | Griechisch |
![](http://upload.wikimedia.org/wikipedia/de/thumb/e/ef/Dosasciitable_CP437.png/220px-Dosasciitable_CP437.png)
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.
![](http://upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Code_Page_437_E0-EF_Comparison.svg/220px-Code_Page_437_E0-EF_Comparison.svg.png)
- 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.“
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
[Bearbeiten | Quelltext bearbeiten]- Codepage 437 Mapping. Unicode.org
- ASCII-Schriftart Eine ASCII-Schrift für Windows in der Codepage 437
- MS LineDraw – Version 2.00 microsoft.com
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ Fortune Magazine, 2. Oktober 1995