Está en la página 1de 5

Página de códigos 437

La página de códigos 437 es el conjunto de caracteres que incorporaba la primera versión del Personal
Computer (PC) de IBM sobre el sistema operativo MS-DOS, en el año 1981. También se la conoce como
CP-437 (por su forma en inglés, code page) OEM-437 (original equipment manufacturer), PC-8 o MS-
DOS Latin US. Es erróneo llamarla ASCII extendido como si fuera la única extensión del ASCII original,
cuando en realidad no era sino una más de las muchas variaciones que este adoptó cuando pudo contar con
un bit más.

En un sentido más estricto, este juego de caracteres no surgió como una auténtica página de códigos (en su
sentido actual) sino que era simplemente el repertorio de caracteres gráficos disponible en la ROM de los Repertorio completo de la página de códigos 437.
adaptadores de video IBM Monochrome Display Adapter (MDA) y Color Graphics Adapter (CGA) del
IBM PC original; esto es, estaba implementada en su circuitería. La expresión "Original Equipment
Manufacturer" (OEM, equipamiento original del fabricante) surge de este hecho. Hoy día, todavía es el tipo de letra primario en el corazón de cualquier tarjeta gráfica
compatible con EGA y VGA, o sea que el texto que se puede ver en la pantalla cuando un PC se reinicia se muestra con esta página de códigos.

Todos estos adaptadores de pantalla tienen un modo básico de texto de 80 columnas, en los cuales cada posición de carácter se representa en la memoria RAM de vídeo
como un único byte (más un byte adicional con información sobre su color y/o efecto visual), lo que proporciona 256 valores posibles para caracteres gráficos. De este
modo, más allá del juego de caracteres imprimibles del ASCII (valores 32 a 126, 95 en total), los ingenieros pusieron en la ROM un puñado de caracteres variados incluso
para el rango 0 a 31, reservado en ASCII para propósitos de control (no imprimibles).

Así pues esta página de códigos tiene dos usos principales: como un código de intercambio de información (a través de archivos y telecomunicaciones), en las cuales los
valores 0 a 127 tienen el mismo cometido que en ASCII más los caracteres de texto internacionales 128 a 175 (véase la tabla más abajo), y como un recurso gráfico para
las pantallas e impresoras (simplemente colocando en la posición de la memoria RAM de vídeo/enviando por la línea el código apropiado), en el cual el rango completo
puede ser usado para construir presentaciones interesantes. Por tanto, cualquier archivo que contenga estos caracteres para presentaciones debería considerarse de tipo
binario en lugar de texto.

Índice
Caracteres
Las diferencias con el ASCII
Fallos en la internacionalización
Caracteres con múltiples significados
Valores en la referencia de Microsoft para Unicode
Véase también
Enlaces externos
Referencias

Caracteres
A continuación se muestra la tabla representando el CP437 usando los caracteres Unicode equivalentes. Los caracteres estándar ASCII y ISO 8859-1 (Latin-1), junto con
las letras griegas, se muestran en casillas coloreadas.

Dado el uso doble de los valores en el rango 0 a 31 (0h a 20h), hay dos juegos para estos, de los cuales el primero son sus significados como caracteres de control ASCII y
el segundo su aspecto gráfico en pantalla o impreso.

Para el valor 127 (7Fh), su aspecto gráfico se muestra en la segunda tabla, siendo su significado como carácter de control ASCII "DEL" (delete, borrar), valor Unicode
U+007F.

-0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -A -B -C -D -E -F
NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI
0- 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US
0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001A 001B 001C 001D 001E 001F
1-
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
-0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -A -B -C -D -E -F
FSP ☺ ☻ ♥ ♦ ♣ ♠ • ◘ ○ ◙ ♂ ♀ ♪ ♫ ☼
0- 2007 263A 263B 2665 2666 2663 2660 2022 25D8 25CB 25D9 2642 2640 266A 266B 263C
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
► ◄ ↕ ‼ ¶ § ▬ ↨ ↑ ↓ → ← ∟ ↔ ▲ ▼
1- 25BA 25C4 2195 203C 00B6 00A7 25AC 21A8 2191 2193 2192 2190 221F 2194 25B2 25BC
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

SP ! " # $ % & ' ( ) * + , - . /


2- 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002A 002B 002C 002D 002E 002F
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47

0 1 2 3 4 5 6 7 8 9 : ; < = > ?
3- 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003A 003B 003C 003D 003E 003F
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
@ A B C D E F G H I J K L M N O
4- 0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004A 004B 004C 004D 004E 004F
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
P Q R S T U V W X Y Z [ \ ] ^ _
5- 0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005A 005B 005C 005D 005E 005F
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95

` a b c d e f g h i j k l m n o
6- 0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006A 006B 006C 006D 006E 006F
96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
p q r s t u v w x y z { | } ~ ⌂
7- 0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007A 007B 007C 007D 007E 2302
112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
Ç ü é â ä à å ç ê ë è ï î ì Ä Å
8- 00C7 00FC 00E9 00E2 00E4 00E0 00E5 00E7 00EA 00EB 00E8 00EF 00EE 00EC 00C4 00C5
128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
É æ Æ ô ö ò û ù ÿ Ö Ü ¢ £ ¥ ₧ ƒ
9- 00C9 00E6 00C6 00F4 00F6 00F2 00FB 00F9 00FF 00D6 00DC 00A2 00A3 00A5 20A7 0192
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159
á í ó ú ñ Ñ ª º ¿ ⌐ ¬ ½ ¼ ¡ « »
A- 00E1 00ED 00F3 00FA 00F1 00D1 00AA 00BA 00BF 2310 00AC 00BD 00BC 00A1 00AB 00BB
160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175
░ ▒ ▓ │ ┤ ╡ ╢ ╖ ╕ ╣ ║ ╗ ╝ ╜ ╛ ┐
B- 2591 2592 2593 2502 2524 2561 2562 2556 2555 2563 2551 2557 255D 255C 255B 2510
176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191
└ ┴ ┬ ├ ─ ┼ ╞ ╟ ╚ ╔ ╩ ╦ ╠ ═ ╬ ╧
C- 2514 2534 252C 251C 2500 253C 255E 255F 255A 2554 2569 2566 2560 2550 256C 2567
192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207
╨ ╤ ╥ ╙ ╘ ╒ ╓ ╫ ╪ ┘ ┌ █ ▄ ▌ ▐ ▀
D- 2568 2564 2565 2559 2558 2552 2553 256B 256A 2518 250C 2588 2584 258C 2590 2580
208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223
α β Γ π Σ σ µ τ Φ Θ Ω δ ∞ ∈ ∩
E- 03B1 03B2 0393 03C0 03A3 03C3 00B5 03C4 03A6 0398 03A9 03B4 221E 2205 2208 2229
224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239

≡ ± ≥ ≤ ⌠ ⌡ ÷ ≈ ° · · √ ⁿ ² ■ NBSP

F- 2261 00B1 2265 2264 2320 2321 00F7 2248 00B0 2219 00B7 221A 207F 00B2 25A0 00A0
240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255
-0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -A -B -C -D -E -F
NOTA: el aspecto gráfico de los caracteres 0 (0h), 32 (20h) y 255 (FFh) son simples espacios en blanco, sin marcas de ninguna clase.

NOTA: el carácter gráfico seleccionado para el carácter número 0 es U+2007 FIGURE SPACE (FSP), "espacio de número", un espacio del mismo ancho que los números
en los tipos de letra de ancho fijo.
En DOS y Windows, la mayoría de los caracteres de la página de códigos activa se pueden insertar pulsando la tecla Alt e introduciendo el código decimal de hasta tres
dígitos en el bloque numérico del teclado. Esta técnica se denomina Códigos de tecla ALT. Se puede averiguar cuál es la página de códigos activa mediante la orden de
MS-DOS mode con o chcp.

Las diferencias con el ASCII


El CP437 está basado en el ASCII, con las siguientes modificaciones:

El rango C0 para caracteres de control (00h–1Fh en hexadecimal) está mapeado con caracteres gráficos. Los códigos pueden asumir su función
original como controles, pero cuando se colocan en la memoria RAM del adaptador de vídeo y se ven en modo texto, por ejempllo con un editor en
pantalla como el "Edit" de MS-DOS, se muestran como gráficos. Los gráficos son variados, como caras sonrientes, palos de la baraja francesa y
figuras musicales. De modo similar, el código 127 (7Fh), DEL, se muestra como un gráfico (una casita).

El rango del bit más alto, 128 a 255 (80h–FFh), está mapeado con símbolos variados: unos pocos caracteres europeos (como vocales acentuadas,
etc) sin un orden particular e insuficientes para la correcta representación de la mayoría de los idiomas de Europa occidental, caracteres para el
diseño de cajas, símbolos matemáticos y unas pocas letras del alfabeto griego comúnmente usadas en matemáticas y física.
El repertorio del CP437 se tomó del juego de caracteres de las máquinas dedicadas al proceso de texto de Wang, según Bill Gates en una entrevista realizada a él y Paul
Allen en la edición del 2 de octubre de 1995 de la revista Fortune:

"… 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."

"… estábamos fascinados por los procesadores de texto dedicados de Wang, porque pensábamos que las máquinas de
propósito general podrían hacer también esto perfectamente. De ahí que, cuando llegó el momento de diseñar el
teclado del PC de IBM, pusimos el divertido juego de caracteres de Wang en la máquina—ya sabe, caras sonrientes y
cajas y triángulos y cosas así. Pensábamos que nos gustaría hacer un clon por software del procesador de texto de
Wang algún día."

La selección del juego de caracteres, a menudo tachada de ser peculiarmente extravagante, tiene cierta lógica interna:

Las filas 0 y 1 de la tabla, códigos 0 a 31 (0h a 20h), son un surtido de símbolos tipográficos ("dingbats" en inglés, caracteres complementarios y
decorativos como los de la fuente Wingdings de Windows). El carácter aislado 127 (7Fh) también pertenece a este grupo.

Las filas 2 a 7 de la tabla (excepto el carácter 127, 7Fh), códigos 32 a 126 (20h a 7Eh), son los caracteres imprimibles estándar del ASCII.

Las filas 8 a 10 (Ah) de la tabla, códigos 128 a 175 (80h a AFh), son una limitada selección de caracteres de texto internacionales.

Las filas 11 (Bh) a 13 (Dh) de la tabla, códigos 176 a 223 (B0h a DFh), son los caracteres para el diseño de cajas y bloques. Este apartado está a su
vez distribuido de tal modo que los caracteres 192 a 223 (C0h a DFh) de las filas 12 y 13 (Ch y Dh) tengan todos brazos por la derecha (excepto el
217, D9h) o superficies rellenas por la derecha (excepto el 221, DDh), y ello es debido a la siguiente razón técnica:1 la tarjeta de vídeo MDA del IBM
PC original tenía almacenados los gráficos de los caracteres del CP437 como pequeños bitmap de ocho pixeles de ancho, pero los mostraba cada
nueve pixeles en la pantalla, ocho más una separación adicional para mejorar el resultado visual. Así, los caracteres con diseño para conectar por su
lado derecho debían duplicar sus octavos pixeles para que no se interrumpieran visualmente las líneas o áreas rellenas que formaban cuando se
ponían seguidos. Esta extensión de los pixeles se hace con unos circuitos electrónicos especiales, y sólo afecta a esta porción del juego de
caracteres.

Las filas 14 (Eh) y 15 (Fh) de la tabla, códigos 224 a 255 (E0h a FFh) están dedicados a símbolos matemáticos, de los cuales los doce primeros son
una limitada selección de letras griegas usadas corrientemente en física. Los caracteres 244 y 245 (F4h y F5h) son las partes superior e inferior de
una S larga itálica, el símbolo empleado como el signo de integral (∫), y se pueden extender con el carácter 179 (B3h), la línea vertical del apartado de
los diseños de cajas. Los caracteres 249 y 250 (F9h y FAh) son casi indistinguibles: el primero era sólo un único pixel, mientras que el segundo se
asemeja al punto medio tipográfico (·). No está clara la necesidad real de incluir esta pareja, cuando sólo uno hunbiera sido suficiente. El carácter 255
(FFh) es sencillamente blanco, y sirve como una especie de espacio no particionable ("non-breaking space" o NBSP en inglés) para componer
fórmulas matemáticas.

Fallos en la internacionalización
El CP437 tiene una serie de caracteres internacionales, nominalmente los valores 128 a 175 (80H a AFh), aparentemente elegidos y ordenados sin un criterio concreto.

En modo alguno pueden ser considerados "occidentales" ni "europeos":

Faltan muchos caracteres para el español (Á, Í, í, Ó, Ú), el francés (À, Â, È, Ê, Ë, Ì, Î, Ï, Ò, Ô, Œ, œ, Ù, Û, Ý, ý, Ÿ), y el portugués (Ã, ã, Õ, õ),
necesarios para estos idiomas tanto en Latinoamérica como en Europa.

Tiene los umlaut para el alemán (Ä, ä, Ö, ö, Ü, ü), pero la eszett (S fuerte, ß) debe representarse con el símbolo griego beta (β).

Tiene las letras escandinavas Æ, æ, Å, å pero le faltan las Ø y ø (el carácter número 237, conjunto vacío, puede usarse como un substituto, pero no
se muestra adecuadamente en el seno de las palabras).

Junto con los símbolos de moneda para el centavo (¢), la libra esterlina (£) y el yen/Yuan (¥), tiene un par de símbolos de monedas europeas: para el
florín (ƒ, Países Bajos) y la peseta (₧, España). La presencia de esta última es significativa, dado que la peseta española nunca tuvo símbolo propio;
simplemente se abreviaba "Pt", "Pta", "Pts" o "Ptas". Es posible que este carácter fuera incluido en el juego debido a que los modelos españoles de la
máquina de escribir eléctrica de IBM también tenían un tipo dedicado para esta abreviatura.
Juegos de caracteres de MS-DOS posteriores, como la página de códigos 850 (DOS Latino-1), página de códigos 852 (DOS Centroeuropeo) y la página de códigos 737
(DOS Griego), suplieron las deficiencias para el uso internacional con cierta compatibilidad con el CP437 reteniendo los caracteres para diseño de cajas de trazo simple y
doble, descartando los que eran de trazos mixtos (p.e. horizontal doble/vertical simple). Todos los caracteres del CP437 están en los juegos de caracteres de Unicode y de
Microsoft (WGL4), así como en la mayoría de los tipos de letra de Microsoft Windows, y también es el tipo VGA por defecto del núcleo Linux, y de los juegos de
caracteres universales ISO 10646 para los X11.

Caracteres con múltiples significados


Junto con los caracteres del rango 0 a 31, que pueden ser interpretados como controles ASCII así como símbolos tipográficos, algunos caracteres con un aspecto ambiguo
(a los ojos de sus implementadores, no a los de un tipógrafo) tienen significados sobrecargados, dependiendo del contexto:

225 (E1h) es tanto la S fuerte eszett alemana (U+00DF, ß) como la letra griega minúscula beta (U+03B2, β).

228 (E4h) es tanto el signo matemático para sumatorios (U+2211, ∑) como la letra griega mayúscula sigma (U+03A3, Σ).

230 (E6h) es tanto el signo del prefijo micro (U+00B5, µ) como la letra griega minúscula mu (U+03BC, μ).

234 (EAh) es tanto el signo para la unidad de resistencia eléctrica ohmio (U+2126, Ω) como la letra griega mayúscula omega (U+03A9, Ω) (nótese que
también en Unicode, el signo del ohmio es canónicamente equivalente a la omega mayúscula, y su uso no está recomendado en favor de la omega
mayúscula[1] (http://www.unicode.org/versions/Unicode4.0.0/ch07.pdf#search=%22character%20U%2B2126%20maps%20OR%20map%20OR%20m
apping%22)).

235 (EBh) es la letra griega minúscula delta (U+03B4, δ), pero también ha sido usada como un substituto aproximado para la letra islandesa
minúscula eth (U+00F0, ð) y como un símil del signo de la derivada parcial (U+2202, ∂).

237 (EDh) es principalmente el signo para el conjunto vacío (U+2205, ) y también se usa como el signo phi en itálica (U+03D5, ) para designar
ángulos, como el símbolo para diámetro (U+2300, ) y como un substituto aproximado para la letra O barrada en minúsculas (U+00F8, ø), pero rara
vez como la letra griega minúscula phi (U+03D6, φ) dado que su forma original por IBM (parece un pequeño círculo cruzado por una barra) no se
asemeja demasiado a esta letra griega minúscula.

238 (EEh) es tanto el símbolo de pertenece a (U+2208, ∈) como la letra griega minúscula epsilon (U+03B5, ε). También, en algunas impresoras de
tickets de matriz de puntos (con el CP437 en ROM) se usa hoy día en lugar del signo del euro (U+20AC, €), en los países europeos en los que el euro
es la moneda oficial.
La razón principal para esta proliferación es que el juego de caracteres CP437 de los adaptadores de vídeo MDA y CGA del IBM PC original, así como de las impresoras
compatibles, estaba fijado en ROM y no podía cambiarse por software, de modo que los desarrolladores y los usuarios trataron de sacar el máximo partido de los recursos
disponibles.

Los implementadores de tablas de mapas para Unicode deberían tener en cuenta que estos caracteres "unificados" pueden no tener un significado único y preciso: la
elección correcta depende del contexto.

Valores en la referencia de Microsoft para Unicode


Algunos caracteres del CP437 tienen asignados los siguientes valores Unicode en la documentación de referencia de Microsoft, que en algunos casos se aparta de los
valores dados en la tabla anterior:

00h = U+0000 NULL


7Fh = U+007F DELETE

E1h = U+00DF LATIN SMALL LETTER SHARP S


EDh = U+03C6 GREEK SMALL LETTER PHI
EEh = U+03B5 GREEK SMALL LETTER EPSILON

NUL DEL ß φ ε
Valores de control fijos 0000 007F Valores alternativos de carácter 00DF 03C6 03B5
0 127 225 237 238
Se hace notar aquí que el carácter Unicode U+03D5 GREEK PHI SYMBOL ( ) hubiera sido una mejor elección para el valor número 237 (EDh) del CP437.

Véase también
ASCII
Arte ASCII

Enlaces externos
Microsoft Code Page 437 reference chart (http://www.microsoft.com/globaldev/reference/oem/437.htm) (en inglés).

Referencias
1. Richard Wilton, Programmer's Guide to PC & PS/2 VIDEO SYSTEMS, 1987, Microsoft Press.

Obtenido de «https://es.wikipedia.org/w/index.php?title=Página_de_códigos_437&oldid=114636676»
Esta página se editó por última vez el 17 mar 2019 a las 01:26.

El texto está disponible bajo la Licencia Creative Commons Atribución Compartir Igual 3.0; pueden aplicarse cláusulas adicionales. Al usar este sitio, usted
acepta nuestros términos de uso y nuestra política de privacidad.
Wikipedia® es una marca registrada de la Fundación Wikimedia, Inc., una organización sin ánimo de lucro.

También podría gustarte