El término "página de códigos" se originó en los sistemas mainframe basados en EBCDIC de IBM , [1] pero Microsoft , SAP , [2] y Oracle Corporation [3] se encuentran entre los proveedores que utilizan este término. La mayoría de los proveedores identifican sus propios conjuntos de caracteres mediante un nombre. En el caso de que haya una gran cantidad de juegos de caracteres (como en IBM), identificar los juegos de caracteres mediante un número es una forma conveniente de distinguirlos. Originalmente, los números de página de códigos se referían a los números de página del manual del juego de caracteres estándar de IBM, [4] [5] [6] una condición que no se ha mantenido durante mucho tiempo. Los proveedores que utilizan un sistema de página de códigos asignan su propio número de página de códigos a una codificación de caracteres, incluso si es más conocida por otro nombre; por ejemplo, a UTF-8 se le han asignado los números de página 1208 en IBM, 65001 en Microsoft y 4110 en SAP.
Hewlett-Packard utiliza un concepto similar en su sistema operativo HP-UX y su protocolo Printer Command Language [7] (PCL) para impresoras (ya sea para impresoras HP o no). La terminología, sin embargo, es diferente: lo que otros llaman conjunto de caracteres , HP lo llama conjunto de símbolos , y lo que IBM o Microsoft llaman página de códigos , HP lo llama código de conjunto de símbolos . HP desarrolló una serie de conjuntos de símbolos, [8] [9] cada uno con un código de conjunto de símbolos asociado, para codificar tanto sus propios conjuntos de caracteres como los de otros proveedores.
La multitud de conjuntos de caracteres lleva a muchos proveedores a recomendar Unicode .
El sistema de numeración de páginas de códigos.
IBM introdujo el concepto de asignar sistemáticamente un número pequeño, pero globalmente único, de 16 bits a cada codificación de caracteres que pueda encontrar un sistema informático o un conjunto de sistemas informáticos. El origen de IBM del esquema de numeración se refleja en el hecho de que los números más pequeños (los primeros) se asignan a variaciones de la codificación EBCDIC de IBM y los números ligeramente más grandes se refieren a variaciones de la codificación ASCII extendida de IBM tal como se utiliza en su hardware de PC.
Con el lanzamiento de PC DOS versión 3.3 (y el casi idéntico MS-DOS 3.3), IBM introdujo el sistema de numeración de páginas de códigos a los usuarios habituales de PC, ya que los números de páginas de códigos (y la frase "página de códigos") se utilizaban en nuevos comandos para permitir que la codificación de caracteres utilizada por todas las partes del sistema operativo se establezca de forma sistemática. [10]
Después de que IBM y Microsoft dejaron de cooperar en la década de 1990, las dos empresas mantuvieron la lista de números de páginas de códigos asignados de forma independiente, lo que dio lugar a algunas asignaciones conflictivas. Al menos un proveedor externo ( Oracle ) también tiene su propia lista diferente de asignaciones numéricas. [3] Las asignaciones actuales de IBM se enumeran en su repositorio CCSID , mientras que las asignaciones de Microsoft están documentadas en MSDN . [11] Además, se puede encontrar una lista de los nombres y abreviaturas aproximadas de IANA ( Autoridad de Números Asignados de Internet ) para las páginas de códigos instaladas en cualquier máquina con Windows en el Registro de esa máquina (esta información es utilizada por programas de Microsoft como Internet Explorador ).
La mayoría de las páginas de códigos conocidas, excluyendo las de los idiomas CJK y vietnamita , ajustan todos sus puntos de código en ocho bits y no implican nada más que asignar cada punto de código a un solo carácter; además, no intervienen técnicas como combinación de personajes, guiones complejos, etc.
El modo de texto del hardware de gráficos de PC estándar ( compatible con VGA ) se basa en el uso de una página de códigos de 8 bits, aunque es posible usar dos a la vez con cierto sacrificio de la profundidad del color, y se pueden almacenar hasta ocho en el adaptador de pantalla. para cambiar fácilmente. [12] Había una selección de fuentes de páginas de códigos de terceros que podían cargarse en dicho hardware. Sin embargo, ahora es común que los proveedores de sistemas operativos proporcionen sus propios sistemas de codificación y representación de caracteres que se ejecutan en modo gráfico y evitan por completo esta limitación de hardware. Sin embargo, el sistema de referencia a codificaciones de caracteres mediante un número de página de códigos sigue siendo aplicable, como una alternativa eficaz a los identificadores de cadenas como los especificados por el IETF y la IANA para su uso en diversos protocolos, como el correo electrónico y las páginas web.
Relación con ASCII
La mayoría de las páginas de códigos que se utilizan actualmente son superconjuntos de ASCII , un código de 7 bits que representa 128 códigos de control y caracteres imprimibles. En el pasado lejano, las implementaciones de 8 bits del código ASCII establecían el bit superior en cero o lo utilizaban como bit de paridad en las transmisiones de datos de red. Cuando el bit superior estuvo disponible para representar datos de caracteres, se pudo representar un total de 256 caracteres y códigos de control. La mayoría de los proveedores (incluido IBM) utilizaron este rango extendido para codificar caracteres utilizados por varios lenguajes y elementos gráficos que permitían la imitación de gráficos primitivos en dispositivos de salida de solo texto. No existía ningún estándar formal para estos "juegos de caracteres ASCII extendidos" y los proveedores se referían a las variantes como páginas de códigos, como siempre lo había hecho IBM con las variantes de codificaciones EBCDIC.
Relación con Unicode
Unicode es un esfuerzo por incluir todos los caracteres de todos los lenguajes humanos utilizados actual e históricamente en una enumeración de un solo carácter (efectivamente, una sola página de códigos grande), eliminando la necesidad de distinguir entre diferentes páginas de códigos cuando se maneja texto almacenado digitalmente. Unicode intenta mantener la compatibilidad con muchas páginas de códigos heredadas, copiando algunas páginas de códigos 1:1 en el proceso de diseño. Un objetivo de diseño explícito de Unicode era permitir la conversión de ida y vuelta entre todas las páginas de códigos heredados comunes, aunque este objetivo no siempre se ha logrado. Algunos proveedores, como IBM y Microsoft, han asignado anacrónicamente números de página de códigos a codificaciones Unicode. Esta convención permite que los números de página de códigos se utilicen como metadatos para identificar el algoritmo de decodificación correcto cuando se encuentran datos binarios almacenados.
páginas de códigos de IBM
Páginas de códigos basadas en EBCDIC
IBM utiliza estas páginas de códigos en sus conjuntos de caracteres EBCDIC para computadoras centrales . [13]
1 – WP de EE. UU., Original
2 – Estados Unidos
3 – Contabilidad de EE. UU., Versión A
4 – Estados Unidos
5 – Estados Unidos
6 – América Latina
7 – Alemania FR / Austria
8 – Alemania FR
9 – Francia, Bélgica
10 – Canadá (inglés)
11 – Canadá (francés)
12 – Italia
13 – Países Bajos
14 –
15 – Suiza (francés)
16 – Suiza (francés / alemán)
17 – Suiza (alemán)
18 – Suecia / Finlandia
19 – Suecia / Finlandia WP, versión 2
20 – Dinamarca/Noruega
21 – Brasil
22-Portugal
23 – Reino Unido
24 – Reino Unido
25 – Japón (latín)
26 – Japón (latín)
27 – Grecia (latín)
28 –
29 – Islandia
30 – Turquía
31 – Sudáfrica
32 – Checoslovaquia (checo/eslovaco)
33 – Checoslovaquia
34 – Checoslovaquia
35 – Rumania
36 – Rumania
37 – EE.UU./Canadá - CECP (lo mismo que el euro: 1140)
37-2 – La página de códigos APL 3279 real, tal como la utiliza el C/370. Esto está muy cerca de 1047, excepto en el signo de intercalación y sin signo invertido. IBM no lo reconoce oficialmente, aunque SHARE ha señalado su existencia. [14]
38 – EE.UU. ASCII
39 – Reino Unido / Israel
40 – Reino Unido
251 – China
252 – Polonia
254 – Hungría
256 – Internacional #1 (reemplazado por 500)
257 – Internacional #2
258 – Internacional #3
259 – Símbolos, Conjunto 7
260 – Francés canadiense - 116
264 – Procesamiento de texto y tren de impresión ampliado
273 – Alemania FR/Austria - CECP (lo mismo que el euro: 1141)
274 – Página de códigos antigua de Bélgica
275 – Brasil - CECP
276 – Canadá (francés) - 94
277 – Dinamarca, Noruega - CECP (lo mismo que el euro: 1142)
278 – Finlandia, Suecia - CECP (lo mismo que el euro: 1143)
279 – francés - 94 [14]
280 – Italia - CECP (lo mismo que el euro: 1144)
281 – Japón (latín) - CECP
282 – Portugal - CECP
283 – España - 190 [14]
284 – España/América Latina - CECP (lo mismo que el euro: 1145)
285 – Reino Unido - CECP (lo mismo que el euro: 1146)
286 – Austria / Alemania FR Suplente
287 – Dinamarca / Noruega Suplente
288 – Finlandia / Suecia Suplente
289 – España Suplente
290 – Japonés (Katakana) extendido
293 – APL
297 – Francia (lo mismo con el euro: 1147) [14]
298 – Japón (Katakana)
300 – Japón (Kanji) DBCS (para JIS X 0213)
310 – Escape gráfico APL/TN
320 – Hungría
321 – Yugoslavia
322 – Turquía
330 – Internacional #4
351 – GDDM predeterminado
352 – Opción de impresión y publicación
353 – BCDIC-A
355 – Opción estándar PTTC/BCD
357 – Opción PTTC/BCD H
358 – Opción de correspondencia PTTC/BCD
359 – Opción monocase PTTC/BCD
360 – Opción PTTC/BCD Duocase
361 – EBCDIC Editorial Internacional
363 – Símbolos, conjunto 8
382 – EBCDIC Publishing Austria, Alemania FR Suplente
IBM utiliza estas páginas de códigos en su sistema operativo PC DOS . Estas páginas de códigos se integraron originalmente directamente en el hardware en modo texto de los adaptadores gráficos utilizados con la PC IBM y sus clones, incluidos los adaptadores MDA y CGA originales cuyos conjuntos de caracteres solo podían cambiarse reemplazando físicamente un chip ROM que contenía la fuente. La interfaz de esos adaptadores (emulada por todos los adaptadores posteriores, como VGA) generalmente se limitaba a conjuntos de caracteres de un solo byte con solo 256 caracteres en cada fuente/codificación (aunque VGA agregó soporte parcial para conjuntos de caracteres ligeramente más grandes).
301 – IBM-PC Japón (Kanji) DBCS
437 : página de códigos de hardware de PC IBM original
874 – Tailandés con marcas de tonos bajos y caracteres antiguos (ID conflictivo con Windows 874; versión con euro: 1161 Versión de Windows: es IBM 1162 )
948 – Chino tradicional IBM-PC (SAA chino tradicional (OS/2)) ( 1043 + 927)
949 – Coreano (Wansung extendido (ks_c_5601-1987)) ( 1088 + 951 ) (ID conflictiva con Windows 949 (Código Hangul unificado); la versión de Windows es IBM 1363)
951 – DBCS coreano (Código IBM KS) (ID conflictiva con Windows 951, un truco de Windows 950 con asignaciones Unicode para algunos caracteres PUA Unicode que se encuentran en HKSCS, según el nombre del archivo)
1034 – Aplicación de impresora: etiqueta de envío, conjunto n.º 2
1040 – Coreano extendido
1041 – Japonés extendido (JIS X 0201 extendido)
1042 – Chino simplificado extendido
1043 – Chino Tradicional Extendido
1044 – Aplicación de impresora: etiqueta de envío, conjunto n.º 1
1370 – MIX chino tradicional ( codificación Big5 ) ( 1114 + 947 + euro) (igual sin euro: 950 )
1380 – IBM-PC Chino simplificado GB PC-DATA (DBCS PC IBM GB 2312-80)
1381 – Chino simplificado IBM-PC ( 1115 + 1380 )
1393 – Japonés JIS X 0213 DBCS
1394 – IBM-PC Japón (JIS X 0213) ( 897 + 1393)
Cuando se trata de hardware, protocolos y formatos de archivos más antiguos, a menudo es necesario admitir estas páginas de códigos, pero se recomiendan sistemas de codificación más nuevos, en particular Unicode, para nuevos diseños.
Las páginas de códigos de DOS normalmente se almacenan en archivos .CPI. [16] [17] [18] [19] [20]
Páginas de códigos IBM AIX
IBM utiliza estas páginas de códigos en su sistema operativo AIX . Emulan varios conjuntos de caracteres, concretamente aquellos diseñados para usarse de acuerdo con ISO, como los sistemas operativos tipo UNIX.
1382 – Chino simplificado EUC (DBCS PC GB 2312-80)
1383 – Chino simplificado EUC ( 367 + 1382 )
La página de códigos 819 es idéntica a Latin-1, ISO/IEC 8859-1 y, con comandos ligeramente modificados, permite que las máquinas MS-DOS utilicen esa codificación. Se utilizó con minicomputadoras IBM AS/400.
Páginas de códigos de IBM OS/2
IBM utiliza estas páginas de códigos en su sistema operativo OS/2 .
1004 – Latin-1 extendido, publicación de escritorio/Windows [21]
Páginas de códigos de emulación de Windows
IBM utiliza estas páginas de códigos al emular los juegos de caracteres de Microsoft Windows . La mayoría de estas páginas de códigos tienen el mismo número que las páginas de códigos de Microsoft, aunque no son exactamente idénticas. Sin embargo, algunas páginas de códigos son nuevas de IBM y no están diseñadas por Microsoft.
1400 – ISO 10646 UCS-BMP (basado en Unicode 6.0) [23]
1401 – ISO 10646 UCS-SMP (basado en Unicode 6.0) [23]
1402 – ISO 10646 UCS-SIP (basado en Unicode 6.0) [23]
1414 – ISO 10646 UCS-SSP (basado en Unicode 4.0) [23]
1445 – IBM AFP PUA N° 1
1446 – ISO 10646 UCS-PUP15 (Basado en Unicode 4.0) [23]
1447 – ISO 10646 UCS-PUP16 (Basado en Unicode 4.0) [23]
1448 – UCS-BMP (UDC genérico)
1449: PUA predeterminada de IBM
páginas de códigos de microsoft
páginas de códigos de Windows
Microsoft utiliza estas páginas de códigos en su propio sistema operativo Windows. Microsoft definió una serie de páginas de códigos conocidas como páginas de códigos ANSI (como la primera, 1252 se basó en un borrador ANSI apócrifo de lo que se convirtió en ISO 8859-1 ). La página de códigos 1252 se basa en ISO 8859-1, pero utiliza el rango 0x80-0x9F para caracteres imprimibles adicionales en lugar de los códigos de control C1 de ISO 6429 mencionados en ISO 8859-1. [24] Algunos de los otros se basan en parte en otras partes de ISO 8859 , pero a menudo se reorganizan para acercarlos a 1252.
Microsoft recomienda que las nuevas aplicaciones utilicen UTF-8 o UCS-2/UTF-16 en lugar de estas páginas de códigos. [25]
páginas de códigos DBCS
Estas páginas de códigos representan codificaciones de caracteres DBCS para varios lenguajes CJK. En los sistemas operativos de Microsoft, se utilizan como página de códigos "OEM" y "Windows" para la configuración regional aplicable.
Microsoft utiliza estas páginas de códigos en su sistema operativo MS-DOS. Microsoft se refiere a ellas como páginas de códigos OEM porque fueron definidas por los fabricantes de equipos originales que otorgaron licencias de MS-DOS para su distribución con su hardware, no por Microsoft ni por una organización de estándares. La mayoría de estas páginas de códigos tienen el mismo número que las páginas de códigos equivalentes de IBM, aunque algunas no son exactamente idénticas. [26]
Los siguientes números de página de códigos son específicos de Microsoft Windows. IBM puede utilizar números diferentes para estas páginas de códigos. Emulan varios conjuntos de caracteres, concretamente aquellos diseñados para usarse de acuerdo con ISO, [ se necesita aclaración ], como los sistemas operativos tipo UNIX.
HP desarrolló una serie de conjuntos de símbolos (cada uno con su código de conjunto de símbolos asociado) para codificar sus propios conjuntos de caracteres o los conjuntos de caracteres de otros proveedores. Normalmente son juegos de caracteres de 7 bits que, trasladados a la parte superior y asociados al juego de caracteres ASCII, forman juegos de caracteres de 8 bits.
Conjuntos de símbolos propios de HP
Conjunto de símbolos 0E — HP Roman Extension — Juego de caracteres de 7 bits con letras acentuadas (codificado por IBM como página de códigos 1050 )
Conjunto de símbolos 0G: HP de 7 bits en alemán
Conjunto de símbolos 0L: línea de PC HP de 7 bits (codificada por IBM como página de códigos 1055 )
Conjunto de símbolos 0M — HP Math-7
Conjunto de símbolos 0T — HP Thai-8
Conjunto de símbolos 1S — HP español de 7 bits
Conjunto de símbolos 1U: HP gótico legal de 7 bits (codificado por IBM como página de códigos 1052 )
Conjunto de símbolos 4Q: Dibujo de línea HP (codificado por IBM como página de códigos 1056)
Conjunto de símbolos 4U — HP Roman-9 — Roman-8 + €
Conjunto de símbolos 7J — Computadora de escritorio HP
Conjunto de símbolos 7S: español europeo de 7 bits de HP
Conjunto de símbolos 8E — HP East-8
Conjunto de símbolos 8G: HP Greek-8 (basado en IR 088; no en ELOT 927)
Conjunto de símbolos 8H — HP Hebreo-8
Conjunto de símbolos 8I: MS LineDraw (ASCII + línea de PC HP)
Conjunto de símbolos 8K: HP Kana-8 (ASCII + Katakana japonés)
Conjunto de símbolos 8L: HP LineDraw (ASCII + HP Line Draw)
Conjunto de símbolos 8M — HP Math-8 (ASCII + HP Math-8)
Conjunto de símbolos 8R: cirílico HP-8
Conjunto de símbolos 8S: HP de 7 bits en español latinoamericano
Conjunto de símbolos 19U: Windows 3.1 Latin 1 (prácticamente lo mismo que la página de códigos 1252 )
Conjunto de símbolos 20U: PC-860 Portugal (prácticamente lo mismo que la página de códigos 860 )
Conjunto de símbolos 21U: PC-861 Islandia (prácticamente lo mismo que la página de códigos 861 )
Conjunto de símbolos 23U: PC-863 Canadá - Francés (prácticamente lo mismo que la página de códigos 863 )
Conjunto de símbolos 24Q: PC-polaco Mazowia (prácticamente lo mismo que la codificación Mazovia )
Conjunto de símbolos 25U: PC-865 Dinamarca/Noruega (prácticamente lo mismo que la página de códigos 865 )
Conjunto de símbolos 26U - PC-775 Latin 7 (prácticamente lo mismo que la página de códigos 775 )
Conjunto de símbolos 27Q — PC-8 PC Nova (Prácticamente lo mismo que PC Nova )
Conjunto de símbolos 27U: PC letón ruso (también conocido como 866-letón)
Conjunto de símbolos 28U: PC lituano/ruso (prácticamente lo mismo que la página de códigos 774 )
Conjunto de símbolos 29U: PC-772 lituano/ruso (prácticamente lo mismo que la página de códigos 772 )
Páginas de códigos de otros proveedores
Estas páginas de códigos son asignaciones independientes realizadas por proveedores externos. Dado que la página de códigos original de IBM PC ( número 437 ) no fue diseñada realmente para uso internacional, surgieron varias variantes específicas de países o regiones parcialmente compatibles.
Estas asignaciones de números de páginas de códigos no son oficiales ni de IBM ni de Microsoft y la IANA hace referencia a casi ninguna de ellas como un conjunto de caracteres utilizable. Los números asignados a estas páginas de códigos son arbitrarios y pueden chocar con los números registrados que utilizan IBM o Microsoft. Algunos de ellos pueden ser anteriores a la adición del cambio de página de códigos en DOS 3.3.
100 – Página de fuentes de hardware en hebreo DOS (no de IBM; HDOS ) [34]
706 – Servidor MS-DOS árabe Sakhr (no de IBM; software Sakhr de MSX Computers)
707 – MS-DOS árabe Sakhr (no de IBM; software Sakhr de MSX Computers)
711 – MS-DOS árabe Nafitha mejorado (no de IBM)
714 – MS-DOS árabe Sakr (no de IBM)
715 – APTEC árabe MS-DOS (no de IBM)
721 – MS-DOS árabe Nafitha International (no de IBM)
768 – Árabe Al-Arabi (No de IBM)
770 – DOS estonio, letón, lituano [38] (Del software lituano Lika; [39] Estándar nacional lituano RST 1095-89)
771 – DOS lituano/cirílico — KBL [40] (Del lituano Lika Software [39] )
772 – DOS lituano/cirílico [41] (Del lituano Lika Software; [39] Estándar nacional lituano LST 1284:1993; adoptado por IBM como página de códigos 1119 )
773 – DOS Latin-7 — KBL (del software lituano Lika)
774 – DOS lituano [42] (Del lituano Lika Software; [39] Estándar nacional lituano LST 1283:1993; adoptado por IBM como página de códigos 1118 )
775 – DOS Latin-7 Baltic Rim (del software lituano Lika; [39] Estándar nacional lituano LST 1590-1; adoptado por IBM y Microsoft como página de códigos 775 )
776 – DOS lituano (CP770 extendido) [43] (Del lituano Lika Software [39] )
777 – Lituano con acento DOS (antiguo) (CP773 extendido) — KBL [43] (Del lituano Lika Software [39] )
778 – Lituano con acento DOS (CP775 extendido) [43] (Del software lituano Lika [39] )
881 – Latin 1 (No de IBM; AST Premium Exec DOS 5.0 [35] [36] [37] ) (ID conflictivo con IBM EBCDIC 881)
882 – Latin 2 (ISO 8859-2) (No de IBM; igual que la página de códigos 912; AST Premium Exec DOS 5.0 [35] [36] [37] ) (ID conflictiva con IBM EBCDIC 882)
883 – Latin 3 (No de IBM; AST Premium Exec DOS 5.0 [35] [36] [37] ) (ID conflictivo con IBM EBCDIC 883)
884 – Latin 4 (No de IBM; AST Premium Exec DOS 5.0 [35] [36] [37] ) (ID conflictivo con IBM EBCDIC 884)
885 – Latin 5 (No de IBM; AST Premium Exec DOS 5.0 [35] [36] [37] ) (ID conflictivo con IBM EBCDIC 885)
895 – checo (Kamenický) , (no de IBM; ID conflictiva con IBM CP895 – romano japonés EUC de 7 bits)
896 – DOS polaco (Mazovia) (No de IBM; ID conflictiva con IBM CP896 – Katakana japonés EUC de 7 bits)
900 – DOS ruso (MS-DOS 5.0 LCD.CPI ruso)
928 – griego (en las impresoras Star [45] ); Igual que el estándar nacional griego ELOT 928 (no de IBM; ID conflictivo con IBM CP928 - DBCS de PC en chino simplificado)
999 – DOS Serbocroata I (no de IBM); también conocido como PC Nova y CroSCII; la parte inferior es JUSI.B1.002, la parte superior es la página de códigos 437; admite esloveno y serbocroata (escritura latina)
1001 – Árabe (en impresoras Star [45] ) (No de IBM; ID conflictiva con IBM CP1001 – MICR)
1261 – Windows coreano IBM-1261 LMBCS-17, similar a 1363
1270 – Windows Sami
2001 – KBL lituana (en impresoras Star [45] ); Igual que la página de códigos 771.
3001 – estonio 1 (en impresoras Star [45] ); Igual que la página de códigos 1116.
3002 – estonio 2 (en impresoras Star [45] ); Igual que la página de códigos 922.
3011 – Letón 1 (en impresoras Star [45] ); Igual que la página de códigos 437-letón.
3012 – Letón-2 (en impresoras Star [45] ); Igual que la página de códigos 866-Letón (estándar nacional letón RST 1040-90)
3021 – búlgaro (en impresoras Star [45] ); igual que MIK
3031 – hebreo (en impresoras Star [45] ); Igual que la página de códigos 862.
3041 – maltés (en impresoras Star [45] ); Igual que ISO 646 maltés
3840 – IBM-Russian (en impresoras Star [45] ); casi lo mismo que CP 866
3841 – Gost-ruso (en impresoras Star [45] ); GOST 13052 plus caracteres para idiomas de Asia Central
3843 – polaco (en impresoras Star [45] ); igual que Mazovia
3844 – CS2 (en impresoras Star [45] ); igual que Kamenický
3845 – húngaro (en impresoras Star [45] ); igual que CWI
3846 – turco (en impresoras Star [45] ); Igual que PC-8 turco + antiguo signo de la lira turca (Tʟ) en el punto de código A8
3847 – Brasil-ABNT (en impresoras Star [45] ); Igual que la Norma Nacional Brasileña NBR-9614:1986
3848 – Brasil-ABICOMP (en impresoras Star [45] ); igual que ABICOMP
3850 – KU estándar (en impresoras Star [45] ); variación de la codificación de la Universidad Kasetsart para tailandés
3860 – Rajvitee KU (en impresoras Star [45] ); variación de la codificación de la Universidad Kasetsart para tailandés
3861 – Microwiz KU (en impresoras Star [45] ); variación de la codificación de la Universidad Kasetsart para tailandés
3863 – STD988 TIS (en impresoras Star [45] ); variación de la codificación TIS 620 para tailandés
3864 – TIS popular (en impresoras Star [45] ); variación de la codificación TIS 620 para tailandés
3865 – Newsic TIS (en impresoras Star [45] ); variación de la codificación TIS 620 para tailandés
28799 – FOCAL (en impresoras Star [45] ); Igual que el juego de caracteres FOCAL.
28800 – HP RPL (en impresoras Star [45] ); igual que RPL
(falta el número) – CWI-2 (para DOS) admite húngaro
Lista de asignaciones de páginas de códigos conocidas (incompleta):
Crítica
Muchas codificaciones de caracteres antiguas (a diferencia de Unicode) sufren varios problemas. Algunos proveedores no documentan suficientemente el significado de todos los valores de puntos de código en sus páginas de códigos, lo que disminuye la confiabilidad del manejo consistente de datos textuales a través de varios sistemas informáticos. Algunos proveedores agregan extensiones propietarias a páginas de códigos establecidas, para agregar o cambiar ciertos valores de puntos de código: por ejemplo, el byte 0x5C en Shift JIS puede representar una barra invertida o un símbolo de moneda yen según la plataforma. Finalmente, para admitir varios idiomas en un programa que no usa Unicode, es necesario almacenar la página de códigos utilizada para cada cadena/documento.
Las aplicaciones también pueden etiquetar incorrectamente el texto en Windows-1252 como ISO-8859-1 . La única diferencia entre estas páginas de códigos es que los valores de puntos de código en el rango 0x80–0x9F, utilizados por ISO-8859-1 para caracteres de control, se utilizan en cambio como caracteres imprimibles adicionales en Windows-1252, en particular para las comillas , el euro. signo y el símbolo de marca, entre otros. Los navegadores en plataformas que no son Windows tienden a mostrar cuadros vacíos o signos de interrogación para estos caracteres, lo que dificulta la lectura del texto. La mayoría de los navegadores solucionaron este problema ignorando el juego de caracteres e interpretando como Windows-1252 para que pareciera aceptable. En HTML5, tratar ISO-8859-1 como Windows-1252 está incluso codificado como un estándar W3C . [47] Aunque los navegadores normalmente estaban programados para lidiar con este comportamiento, esto no siempre fue así con otros programas. En consecuencia, al recibir una transferencia de archivos desde un sistema Windows, las plataformas que no sean Windows ignorarían estos caracteres o los tratarían como caracteres de control estándar e intentarían tomar la acción de control especificada en consecuencia.
Debido a la extensa documentación de Unicode, su vasto repertorio de caracteres y su política de estabilidad, los problemas enumerados anteriormente rara vez son una preocupación para Unicode. UTF-8 (que puede codificar más de un millón de puntos de código) ha reemplazado al método de página de códigos en términos de popularidad en Internet. [48] [49]
Páginas de códigos privados
Cuando, al principio de la historia de las computadoras personales, los usuarios no encontraban que se cumplían sus requisitos de codificación de caracteres, se creaban páginas de códigos privadas o locales usando utilidades residentes de terminación y permanencia o reprogramando BIOS EPROM . En algunos casos, se inventaron números de páginas de códigos no oficiales (por ejemplo, CP895).
Cuando estuvo disponible un soporte para conjuntos de caracteres más diversos, la mayoría de esas páginas de códigos cayeron en desuso, con algunas excepciones, como la codificación Kamenický o KEYBCS2 para los alfabetos checo y eslovaco . Otro conjunto de caracteres es el estándar de codificación Iran System creado por la corporación Iran System para admitir el idioma persa . Este estándar se utilizaba en Irán en programas basados en DOS y después de la introducción de la página de códigos 1256 de Microsoft, este estándar quedó obsoleto. Sin embargo, algunos programas de Windows y DOS que utilizan esta codificación todavía están en uso y existen algunas fuentes de Windows con esta codificación.
Para superar estos problemas, el nivel 2 de la arquitectura de representación de datos de caracteres de IBM reserva específicamente rangos de ID de página de códigos para asignaciones de uso privado y definibles por el usuario. Siempre que se utilicen dichos ID de página de códigos, el usuario no debe asumir que la misma funcionalidad y apariencia se pueden reproducir en otra configuración del sistema o en otro dispositivo o sistema, a menos que el usuario se ocupe de esto específicamente. El rango de página de códigos 57344-61439 ( E000h - EFFFh ) está oficialmente reservado para páginas de códigos definibles por el usuario (o en realidad CCSID en el contexto de IBM CDRA ), mientras que el rango 65280-65533 ( FF00h - FFFDh ) está reservado para cualquier usuario. asignaciones definibles de "uso privado". Por ejemplo, una variante personalizada no registrada de la página de códigos 437 ( 1B5h ) o 28591 ( 6FAF ) podría convertirse en 57781 ( E1B5h ) o 61359 ( EFAFh ), respectivamente, para evitar posibles conflictos con otras asignaciones y mantener las funciones internas que a veces existen. Lógica numérica en las asignaciones de las páginas de códigos originales. Una página de códigos privada no registrada que no se basa en una página de códigos existente, una página de códigos específica de un dispositivo como una fuente de impresora, que solo necesita un identificador lógico para ser direccionable por el sistema, una fuente de descarga que cambia con frecuencia o un número de página de códigos con un símbolo es decir, en el entorno local podría tener una asignación en el rango privado como 65280 ( FF00h ).
Los ID de página de códigos 0, 65534 ( FFFEh ) y 65535 ( FFFFh ) están reservados para uso interno de sistemas operativos como DOS y no deben asignarse a ninguna página de códigos específica.
^ "7.1. Conjuntos de caracteres: descripción general". Información del programador del terminal de vídeo VT520/VT525 (PDF) . Corporación de Equipos Digitales (DEC). Julio de 1994. p. 7-1. EK-VT520-RM. A01. Archivado (PDF) desde el original el 15 de febrero de 2017 . Consultado el 15 de febrero de 2017 . Además de los conjuntos de caracteres DEC e ISO tradicionales, el VT520 admite varias páginas de códigos de PC IBM (que se refieren a números de página en el manual del juego de caracteres estándar de IBM) en modo PCTerm para emular el terminal de consola de las PC estándar de la industria.
^ abc Paul, Matthias R. (10 de junio de 2001) [1995]. "Descripción general de las páginas de códigos de DOS, OS/2 y Windows" (archivo CODEPAGE.LST) (edición preliminar 1.59). Archivado desde el original el 20 de abril de 2016 . Consultado el 20 de agosto de 2016 .
^ "Conjuntos de símbolos del lenguaje de comandos de la impresora". www.pclviewer.com . Archivado desde el original el 31 de julio de 2020 . Consultado el 25 de mayo de 2021 .
^ "Conjuntos de símbolos HP". pclhelp.com . Archivado desde el original el 19 de febrero de 2015 . Consultado el 20 de febrero de 2017 .
^ "Guía de comparación de PCL5" (PDF) . Archivado (PDF) desde el original el 21 de febrero de 2017 . Consultado el 20 de febrero de 2017 .
^ Zbikowski, Marcos ; Allen, Pablo ; Ballmer, Steve ; Borman, Rubén; Borman, Rob; Mayordomo, John; Carroll, tirada; Chambelán, Marcos; Chell, David; Colee, Mike; Courtney, Mike; Dryfoos, Mike; Duncan, Raquel; Eckhardt, Kurt; Evans, Eric; Granjero, Rick; Puertas, Bill ; Geary, Michael; Grifo, Bob; Hogarth, Doug; Johnson, James W.; Kermaani, Kaamel; Rey, Adrián; Koch, caña; Landowski, James; Larson, Chris; Lennon, Thomas; Lipkie, Dan; McDonald, Marc ; McKinney, Bruce; Martín, Pascal; Mathers, Estelle; Mateos, Bob; Melín, David; Mergentime, Charles; Nevin, Randy; Newell, Dan; Newell, Tani; Norris, David; O'Leary, Mike; O'Rear, Bob ; Olsson, Mike; Osterman, Larry; Ostling, cresta; Pai, Sunil; Paterson, Tim ; Pérez, Gary; Peters, Chris; Petzold, Carlos ; Pollock, Juan; Reynolds, Aarón ; Rubin, Darryl; Ryan, Ralph; Schulmeisters, Karl; Shah, Rajen; Shaw, Barry; Breve, Antonio; Slivka, Ben; Sonríe, Jon; Fabricante de alambiques, Betty; Stoddard, Juan; Tillman, Dennis; Whitten, Greg; Yount, Natalie; Zeck, Steve (1988). "Asesores técnicos". La enciclopedia de MS-DOS: versiones 1.0 a 3.2 . Por Duncan, Ray; Bostwick, Steve; Burgoyne, Keith; Byers, Robert A.; Hogan, Thom; Kyle, Jim; Letwin, Gordon ; Petzold, Carlos ; Rabinowitz, Chip; Tomlin, Jim; Wilton, Richard; Wolverton, furgoneta; Wong, William; Woodcock, JoAnne (edición completamente reelaborada). Redmond, Washington, Estados Unidos: Microsoft Press . ISBN1-55615-049-0. LCCN 87-21452. OCLC 16581341.[1] Archivado el 14 de octubre de 2018 en Wayback Machine (xix+1570 páginas; 26 cm) (NB: esta edición se publicó en 1988 después de una extensa revisión de la primera edición retirada de 1986 por parte de un equipo diferente de autores).
^ "Identificadores de página de códigos". microsoft.com . Microsoft . Archivado desde el original el 27 de octubre de 2014 . Consultado el 27 de octubre de 2014 .
^ "Programación de vídeo VGA/SVGA: funcionamiento en modo de texto VGA". osdever.net . Archivado desde el original el 1 de septiembre de 2010 . Consultado el 23 de septiembre de 2006 .
^ "Globalización de IBM i: páginas de códigos". IBM. Archivado desde el original el 16 de julio de 2012.
^ abcdef xlate - Transliterar el contenido de los registros, IBM Corporation , 2010 [1986], archivado desde el original el 16 de junio de 2019 , consultado el 18 de octubre de 2016
^ "Página de códigos CPGID 01093 (pdf)" (PDF) . Archivado desde el original (PDF) el 8 de julio de 2015.
^ Paul, Matías R. (10 de junio de 2001) [1995]. "Descripción del formato de archivos .CPI de DOS, OS/2 y Windows NT y .CP de Linux" (archivo CPI.LST) (1.30 ed.). Archivado desde el original el 20 de abril de 2016 . Consultado el 20 de agosto de 2016 .
^ Elliott, John C. (14 de octubre de 2006). "Formato de archivo CPI". Seasip.info . Archivado desde el original el 22 de septiembre de 2016 . Consultado el 22 de septiembre de 2016 .
^ Brouwer, Andries Evert (10 de febrero de 2001). "Fuentes IPC". 0.2. Archivado desde el original el 22 de septiembre de 2016 . Consultado el 22 de septiembre de 2016 .
^ Haralambous, Yannis (septiembre de 2007). Fuentes y codificaciones . Traducido por Horne, P. Scott (1 ed.). Sebastopol, California, EE. UU.: O'Reilly Media, Inc. págs. 601–602, 611. ISBN978-0-596-10242-5.
^ "Página de códigos 1004: Windows extendido". IBM . 2001. Archivado desde el original el 13 de mayo de 2018 . Consultado el 13 de mayo de 2018 .
^ "Arquitectura de representación de datos de caracteres". IBM . Archivado desde el original el 23 de junio de 2019 . Consultado el 12 de octubre de 2019 .
^ abcdefghijkl "Identificador de conjunto de caracteres codificados de IBM (CCSID)". IBM . Archivado desde el original el 26 de noviembre de 2009.
^ ISO/IEC 8859-1:1998(E). YO ASI . 15 de abril de 1998. pag. 1. Archivado desde el original el 30 de octubre de 2020 . Consultado el 30 de octubre de 2020 . Los caracteres codificados de este conjunto se pueden utilizar junto con funciones de control codificadas seleccionadas de ISO/IEC 6429.
^ "Páginas de códigos". microsoft.com . Microsoft . Archivado desde el original el 27 de febrero de 2011 . Consultado el 21 de diciembre de 2010 .
^ "pentaho/pentaho-informes". GitHub . Archivado desde el original el 16 de junio de 2019 . Consultado el 20 de febrero de 2017 .
^ abcde "Identificadores de página de códigos". Red de desarrolladores de Microsoft . Microsoft. 2014. Archivado desde el original el 19 de junio de 2016 . Consultado el 19 de junio de 2016 .
^ abcde "Codificaciones web - Internet Explorer - Codificaciones". Wiki Whatwg . 2012-10-23. Archivado desde el original el 20 de junio de 2016 . Consultado el 20 de junio de 2016 .
^ Foller, Antonin (2014) [2011]. "Codificación de Europa occidental (IA5): conjuntos de caracteres de Windows". WUtils.com: ayuda y utilidad web en línea . Software Motobit. Archivado desde el original el 20 de junio de 2016 . Consultado el 20 de junio de 2016 .
^ Foller, Antonin (2014) [2011]. "Codificación alemana (IA5): conjuntos de caracteres de Windows". WUtils.com: ayuda y utilidad web en línea . Software Motobit. Archivado desde el original el 20 de junio de 2016 . Consultado el 20 de junio de 2016 .
^ Foller, Antonin (2014) [2011]. "Codificación sueca (IA5): conjuntos de caracteres de Windows". WUtils.com: ayuda y utilidad web en línea . Software Motobit. Archivado desde el original el 20 de junio de 2016 . Consultado el 20 de junio de 2016 .
^ Foller, Antonin (2014) [2011]. "Codificación noruega (IA5): conjuntos de caracteres de Windows". WUtils.com: ayuda y utilidad web en línea . Software Motobit. Archivado desde el original el 20 de junio de 2016 . Consultado el 20 de junio de 2016 .
^ Foller, Antonin (2014) [2011]. "Codificación US-ASCII: conjuntos de caracteres de Windows". WUtils.com: ayuda y utilidad web en línea . Software Motobit. Archivado desde el original el 20 de junio de 2016 . Consultado el 20 de junio de 2016 .
^ abcdefg Paul, Matthias R. (5 de septiembre de 2002), Información técnica sobre información de países de DOS no documentados para registros LCASE, ARAMODE y CCTORC, lista de desarrollo de FreeDOS fd-dev en Topica, archivado desde el original el 27 de mayo de 2016 , recuperado el 26 de mayo de 2016
^ abcdefgh Paul, Matthias R. (30 de julio de 1997). NWDOS-TIP: consejos y trucos para Novell DOS 7, con un clic para deshacer detalles, errores y soluciones. MPDOSTIP (en alemán) (3 ed.). Archivado desde el original el 22 de mayo de 2016 . Consultado el 11 de enero de 2012 .(NB. NWDOSTIP.TXT es un trabajo completo sobre Novell DOS 7 y OpenDOS 7.01 , que incluye la descripción de muchas características e componentes internos no documentados. Es parte de la colección MPDOSTIP.ZIP aún más grande del autor mantenida hasta 2001 y distribuida en muchos sitios en la hora. El enlace proporcionado apunta a una versión anterior convertida a HTML del archivo NWDOSTIP.TXT.)
^ abcdefgh Paul, Matthias R. (9 de abril de 2001). NWDOS-TIP: consejos y trucos para Novell DOS 7, con Blick auf desdokumentierte Detalles, errores y soluciones . MPDOSTIP (en alemán) (3 ed.).
^ "770". Archivado desde el original el 26 de febrero de 2017 . Consultado el 25 de febrero de 2017 .Del software lituano Lika
^ abcdefgh "LIKIT". www.likit.lt . Archivado desde el original el 19 de abril de 2017 . Consultado el 25 de febrero de 2017 .
^ "771". Archivado desde el original el 26 de febrero de 2017 . Consultado el 25 de febrero de 2017 .Del software lituano Lika
^ "772". Archivado desde el original el 26 de febrero de 2017 . Consultado el 25 de febrero de 2017 .Del software lituano Lika
^ "774". Archivado desde el original el 26 de febrero de 2017 . Consultado el 25 de febrero de 2017 .Del software lituano Lika
^ abc "lietuvybė.lt - Rašmenų koduotės" [lietuvybė.lt - Codificaciones de caracteres] (en lituano). Archivado desde el original el 28 de agosto de 2019 . Consultado el 28 de agosto de 2019 .
^ Hogan, Thom (1992). Die PC-Referenz für Programmierer (en alemán) (2 ed.). Systhema Verlag GmbH. ISBN3-89390-272-4.(NB. Este libro es la traducción al alemán de "The Programmer's PC Sourcebook" de Microsoft Press. Menciona el código de página ID 854 para España.)
^ abcdefghijklmnopqrstu vwxyz "Manual del usuario de Star LC 8021" (PDF) . Archivado (PDF) desde el original el 29 de septiembre de 2020 . Consultado el 20 de febrero de 2017 .
^ IBM. "Documento de información de la página de códigos SBCS - CPGID 00437". Archivado desde el original el 9 de junio de 2016 . Consultado el 4 de julio de 2014 .
^ "Codificación". QUÉ WG . 2015-01-27. segundo. 4.2 Nombres y etiquetas. Archivado desde el original el 4 de febrero de 2015 . Consultado el 4 de febrero de 2015 .
^ "Estadísticas de uso de codificaciones de caracteres para sitios web (actualizadas diariamente)". w3techs.com . Consultado el 6 de agosto de 2015 .
^ "Estadísticas de uso de UTF-8". tendencias.builtwith.com . Archivado desde el original el 24 de marzo de 2011 . Consultado el 28 de marzo de 2011 .
enlaces externos
Glosario de IBM CDRA
Páginas de códigos de IBM en Wayback Machine (archivada el 5 de febrero de 2016)
Páginas de códigos de IBM por esquema de codificación en Wayback Machine (archivado el 6 de septiembre de 2009)
Información del juego de caracteres IBM/ICU
Identificadores de páginas de códigos de Microsoft (la lista de Microsoft contiene solo páginas de códigos utilizadas activamente por aplicaciones normales en Windows. Consulte también la lista de Torsten Mohrin para obtener la lista completa de páginas de códigos compatibles)
Lista más corta de Microsoft que contiene solo las páginas de códigos ANSI y OEM, pero con enlaces a más detalles sobre cada una en Wayback Machine (archivada el 23 de octubre de 2012)
Juegos de caracteres y páginas de códigos con solo presionar un botón
Comando Microsoft Chcp: muestra y configura la página de códigos activos de la consola