Code page 437
From Wikipedia, the free encyclopedia
IBM PC or MS-DOS code page 437, often abbreviated CP437 and also known as , DOS-US, OEM-US or sometimes misleadingly as just the OEM font,High ASCII or Extended ASCII[1][2], is the original character set of the IBM PC, circa 1981. The following is a table representing CP437 using the equivalent Unicode characters:
.0 | .1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .A | .B | .C | .D | .E | .F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0. |
NULL 0 0 |
☺ 263A 1 |
☻ 263B 2 |
♥ 2665 3 |
♦ 2666 4 |
♣ 2663 5 |
♠ 2660 6 |
• 2022 7 |
◘ 25D8 8 |
○ 25CB 9 |
◙ 25D9 10 |
♂ 2642 11 |
♀ 2640 12 |
♪ 266A 13 |
♫ 266B 14 |
☼ 263C 15 |
1. |
► 25BA 16 |
◄ 25C4 17 |
↕ 2195 18 |
‼ 203C 19 |
¶ B6 20 |
§ A7 21 |
▬ 25AC 22 |
↨ 21A8 23 |
↑ 2191 24 |
↓ 2193 25 |
→ 2192 26 |
← 2190 27 |
∟ 221F 28 |
↔ 2194 29 |
▲ 25B2 30 |
▼ 25BC 31 |
2. |
20 32 |
! 21 33 |
" 22 34 |
# 23 35 |
$ 24 36 |
% 25 37 |
& 26 38 |
' 27 39 |
( 28 40 |
) 29 41 |
* 2A 42 |
+ 2B 43 |
, 2C 44 |
- 2D 45 |
. 2E 46 |
/ 2F 47 |
3. |
0 30 48 |
1 31 49 |
2 32 50 |
3 33 51 |
4 34 52 |
5 35 53 |
6 36 54 |
7 37 55 |
8 38 56 |
9 39 57 |
: 3A 58 |
; 3B 59 |
< 3C 60 |
= 3D 61 |
> 3E 62 |
? 3F 63 |
4. |
@ 40 64 |
A 41 65 |
B 42 66 |
C 43 67 |
D 44 68 |
E 45 69 |
F 46 70 |
G 47 71 |
H 48 72 |
I 49 73 |
J 4A 74 |
K 4B 75 |
L 4C 76 |
M 4D 77 |
N 4E 78 |
O 4F 79 |
5. |
P 50 80 |
Q 51 81 |
R 52 82 |
S 53 83 |
T 54 84 |
U 55 85 |
V 56 86 |
W 57 87 |
X 58 88 |
Y 59 89 |
Z 5A 90 |
[ 5B 91 |
\ 5C 92 |
] 5D 93 |
^ 5E 94 |
_ 5F 95 |
6. |
` 60 96 |
a 61 97 |
b 62 98 |
c 63 99 |
d 64 100 |
e 65 101 |
f 66 102 |
g 67 103 |
h 68 104 |
i 69 105 |
j 6A 106 |
k 6B 107 |
l 6C 108 |
m 6D 109 |
n 6E 110 |
o 6F 111 |
7. |
p 70 112 |
q 71 113 |
r 72 114 |
s 73 115 |
t 74 116 |
u 75 117 |
v 76 118 |
w 77 119 |
x 78 120 |
y 79 121 |
z 7A 122 |
{ 7B 123 |
| 7C 124 |
} 7D 125 |
~ 7E 126 |
⌂ 2302 127 |
8. |
Ç C7 128 |
ü FC 129 |
é E9 130 |
â E2 131 |
ä E4 132 |
à E0 133 |
å E5 134 |
ç E7 135 |
ê EA 136 |
ë EB 137 |
è E8 138 |
ï EF 139 |
î EE 140 |
ì EC 141 |
Ä C4 142 |
Å C5 143 |
9. |
É C9 144 |
æ E6 145 |
Æ C6 146 |
ô F4 147 |
ö F6 148 |
ò F2 149 |
û FB 150 |
ù F9 151 |
ÿ FF 152 |
Ö D6 153 |
Ü DC 154 |
¢ A2 155 |
£ A3 156 |
¥ A5 157 |
₧ 20A7 158 |
ƒ 192 159 |
A. |
á E1 160 |
í ED 161 |
ó F3 162 |
ú FA 163 |
ñ F1 164 |
Ñ D1 165 |
ª AA 166 |
º BA 167 |
¿ BF 168 |
⌐ 2310 169 |
¬ AC 170 |
½ BD 171 |
¼ BC 172 |
¡ A1 173 |
« AB 174 |
» BB 175 |
B. |
░ 2591 176 |
▒ 2592 177 |
▓ 2593 178 |
│ 2502 179 |
┤ 2524 180 |
╡ 2561 181 |
╢ 2562 182 |
╖ 2556 183 |
╕ 2555 184 |
╣ 2563 185 |
║ 2551 186 |
╗ 2557 187 |
╝ 255D 188 |
╜ 255C 189 |
╛ 255B 190 |
┐ 2510 191 |
C. |
└ 2514 192 |
┴ 2534 193 |
┬ 252C 194 |
├ 251C 195 |
─ 2500 196 |
┼ 253C 197 |
╞ 255E 198 |
╟ 255F 199 |
╚ 255A 200 |
╔ 2554 201 |
╩ 2569 202 |
╦ 2566 203 |
╠ 2560 204 |
═ 2550 205 |
╬ 256C 206 |
╧ 2567 207 |
D. |
╨ 2568 208 |
╤ 2564 209 |
╥ 2565 210 |
╙ 2559 211 |
╘ 2558 212 |
╒ 2552 213 |
╓ 2553 214 |
╫ 256B 215 |
╪ 256A 216 |
┘ 2518 217 |
┌ 250C 218 |
█ 2588 219 |
▄ 2584 220 |
▌ 258C 221 |
▐ 2590 222 |
▀ 2580 223 |
E. |
α 3B1 224 |
ß DF 225 |
Γ 393 226 |
π 3C0 227 |
Σ 3A3 228 |
σ 3C3 229 |
µ B5 230 |
τ 3C4 231 |
Φ 3A6 232 |
Θ 398 233 |
Ω 3A9 234 |
δ 3B4 235 |
∞ 221E 236 |
φ 3C6 237 |
ε 3B5 238 |
∩ 2229 239 |
F. |
≡ 2261 240 |
± B1 241 |
≥ 2265 242 |
≤ 2264 243 |
⌠ 2320 244 |
⌡ 2321 245 |
÷ F7 246 |
≈ 2248 247 |
° B0 248 |
∙ 2219 249 |
· B7 250 |
√ 221A 251 |
ⁿ 207F 252 |
² B2 253 |
■ 25A0 254 |
A0 255 |
It is based on ASCII, with the following modifications:
- The C0 control range (0x00–0x1F hex) is mapped to graphics characters. The codes can assume their original function as controls, but when placed in display RAM, for example in a screen editor like MS-DOS edit, they show as graphics. The graphics are various, such as smiling faces, card suits and musical notes. Code 0x7F, DEL, similarly shows as a graphic (a house).
- The high-bit range, 0x80–0xFF, is mapped to various symbols: a few European characters (accented Latin vowels, etc) in no particular order and not sufficient for representation of most Western European languages, box drawing characters, mathematical symbols and a few Greek letters.
The repertoire of CP437 was taken from the character set of Wang word-processing machines, according to Bill Gates in an interview with Gates and Paul Allen that in the 2nd of October 1995 edition of Fortune Magazine:
- "… we were also fascinated by dedicated word processors from Wang, because we believed that general-purpose machines could do that just as well. That's why, when it came time to design the keyboard for the IBM PC, we put the funny Wang character set into the machine—you know, smiley faces and boxes and triangles and stuff. We were thinking we'd like to do a clone of Wang word-processing software someday."
CP437 is inadequate for internationalisation, as it lacks characters necessary for some languages, such as À (capital A with grave) for French, and has only a few Greek letters. Later MS-DOS character sets, such as CP850 (DOS Latin-1), CP852 (DOS Central-European) and CP737 (DOS Greek), filled the gaps for international use while still being nearly compatible with CP437 by retaining most of the box-drawing characters. All CP437 characters are in Unicode and in Microsoft's WGL4 character set, therefore in most of the fonts on Microsoft Windows, and also in the default VGA font of the Linux kernel, and the ISO 10646 fonts for X11.
Implementors of mapping tables to Unicode should note that CP437 unifies some characters that look almost the same: 0xE1 is both the German sharp S (U+00DF, ß) and the Greek lowercase beta (U+03B2, β); 0xE4 is both the n-ary summation sign (U+2211, ∑) and the Greek uppercase sigma (U+03A3, Σ); 0xE6 is both the micro sign (U+00B5, µ) and the Greek lowercase mu (U+03BC, μ); 0xEA is both the ohm sign (U+2126, Ω) and the Greek uppercase omega (U+03A9, Ω) (note that in Unicode as well, the ohm sign is canonically equivalent to the capital omega, and its use is discouraged in favor of capital omega[1]); and 0xEE is both the element-of sign (U+2208, ∈) and the Greek lowercase epsilon (U+03B5, ε).
In DOS and Windows, most characters from CP437 can be inserted by holding down the Alt key and entering the character's three-digit decimal code on the numpad. (By prepending a zero, characters from the newer Windows-1252 code table can also be entered in Windows in this way.)