Codepage 437
# Codepage 437

MS-DOS-Codepages :

| 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 |

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:

   * Der Teilbereich von $C0_{hex}$ bis $DF_{hex}$ 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 $C0_{hex}$ bis $DF_{hex}$ 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 $E1_{hex}$ steht sowohl für das deutsche Eszett ß (U+00DF) als auch für das kleine Beta β (U+03B2); der Apostroph ' $(27_{hex})$ wird auch als Akut verwendet.

