Conjunto de caracteres de Windows para el alfabeto latino
Windows-1252 o CP-1252 ( página de códigos de Windows 1252) es una codificación de caracteres de un solo byte heredada [2] que se utiliza de forma predeterminada (como la "página de códigos ANSI") en Microsoft Windows en América , Europa Occidental , Oceanía y gran parte de África . [3]
Inicialmente era igual que ISO 8859-1 , pero comenzó a divergir a partir de Windows 2.0 al agregar caracteres adicionales en el rango de 0x80 a 0x9F ( hexadecimal ) (los estándares ISO reservan este rango para los códigos de control C1 ). Entre los caracteres adicionales notables se incluyen las comillas y todos los caracteres imprimibles de ISO 8859-15 .
Es la codificación de caracteres de un solo byte más utilizada en el mundo. Aunque casi todos los sitios web utilizan ahora la codificación de caracteres multibyte UTF-8 , en julio de 2024 el 1,2% [4] de los sitios web declararon ISO 8859-1, que es tratado como Windows-1252 por todos los navegadores modernos (como lo exige el estándar HTML5 [5] ), más el 0,3% declaró Windows-1252 directamente, [4] [6] para un total de 1,5%. Algunos países o idiomas muestran un uso superior al promedio mundial, en 2024 Brasil según el uso del sitio web, el uso es del 3,4%, [7] y en Alemania del 2,7%. [8] [9] (estas son las sumas de las declaraciones ISO-8859-1 y CP-1252).
Nombre
Windows lo conoce por el número de página de códigos 1252 y por el nombre aprobado por IANA "windows-1252".
Históricamente, la frase "Página de códigos ANSI" se utilizaba en Windows para referirse a codificaciones que no eran de DOS; la intención era que la mayoría de ellas fueran estándares ANSI como ISO-8859-1 . Aunque Windows-1252 fue la primera y, con diferencia, la más popular página de códigos denominada así en el lenguaje de Microsoft Windows, la página de códigos nunca ha sido un estándar ANSI. Microsoft explica: "El término ANSI, tal como se utiliza para referirse a las páginas de códigos de Windows, es una referencia histórica, pero hoy en día es un nombre inapropiado que sigue persistiendo en la comunidad de Windows". [10]
LaTeX puede introducir Windows-1252 utilizando inputenc.sty con el parámetro ansinew (y más recientemente cp1252 ). [11] [12]
IBM utiliza la página de códigos 1252 ( CCSID 1252 y CCSID extendido con el símbolo del euro 5348) para Windows-1252. [13] [14] [15]
Oracle Database lo llama "WE8MSWIN1252" . [16]
Historia
- La primera versión de la página de códigos se utilizó en Microsoft Windows 1.0 . Cumplía con el estándar ISO-8859-1 (incluso dejaba los puntos de código 0xD7 y 0xF7 sin definir, ya que no estaban en el estándar en ese momento).
- La segunda versión de la página de códigos se introdujo en Microsoft Windows 2.0 . En esta versión, se definen los puntos de código 0xD7, 0xF7, 0x91 y 0x92.
- La tercera versión de la página de códigos se introdujo en Microsoft Windows 3.1 . Definía todos los puntos de código utilizados en la versión final, excepto el símbolo del euro y el par de caracteres Z y carátula .
- La versión final (que se muestra a continuación) se introdujo en Microsoft Windows 98 .
A partir de la década de 1990, muchos productos de Microsoft que podían producir HTML incluían caracteres exclusivos de Windows-1252, pero marcaban la codificación como ISO-8859-1, ASCII o no declarada. [ cita requerida ] Los caracteres exclusivos de Windows-1252 se representaban incorrectamente en sistemas operativos que no fueran Windows (a menudo como signos de interrogación). [17] [18] En particular, las comillas tipográficas (variantes rizadas de los apóstrofos y comillas rectas estándar en US-ASCII) se usaban comúnmente en archivos producidos en aplicaciones de Windows como Microsoft Word debido a la función de comillas inteligentes , que puede convertir automáticamente los apóstrofos y comillas rectas en las variantes rizadas. [19] Para solucionar esto, en 2000 la mayoría de los navegadores web y clientes de correo electrónico trataron los conjuntos de caracteres ISO-8859-1 y US-ASCII como Windows-1252 [ cita requerida ] —este comportamiento ahora lo requiere la especificación HTML5. [5] También se supone que los conjuntos de caracteres no declarados en HTML son Windows-1252. [20] [21]
Aunque Windows NT admitía Unicode e intentaba alentar a los programas a usarlo, solo proporcionaba las unidades de código de 16 bits de UCS-2 / UTF-16 , a pesar de la compatibilidad existente con otras codificaciones de caracteres multibyte. Como muchas aplicaciones preferían usar cadenas de 8 bits, Windows-1252 siguió siendo la codificación más popular en Windows incluso después de que se agregara compatibilidad con UTF-16. La compatibilidad con Unicode en Windows ha mejorado con el tiempo, y la compatibilidad con UTF-8 está disponible a partir de Windows 10 .
Disposición de la página de códigos
La siguiente tabla muestra Windows-1252. Las diferencias con ISO-8859-1 tienen el número de punto de código Unicode debajo del carácter, según la asignación de Unicode.org de Windows-1252 con "mejor ajuste". Una información sobre herramientas, generalmente disponible solo cuando se apunta a la izquierda inmediata del carácter, muestra el nombre del punto de código Unicode y el código Alt decimal .
Según la información que aparece en los sitios web de Microsoft y del Consorcio Unicode, las posiciones 81, 8D, 8F, 90 y 9D no se utilizan; sin embargo, la API de Windows MultiByteToWideChar
las asigna a los códigos de control C1 correspondientes . La asignación de "mejor ajuste" también documenta este comportamiento. [22]
Codificaciones relacionadas
Extensiones de OS/2
El sistema operativo OS/2 admite una codificación denominada Página de códigos 1004 ( CCSID 1004) o "Windows Extended". [27] [28] Esto coincide principalmente con la página de códigos 1252, con la excepción de ciertos caracteres de control C0 que se reemplazan por caracteres diacríticos .
Extensiones MS-DOS (poco frecuentes)
Existe una página de códigos extendida para gráficos 1252, que se utiliza con poca frecuencia, pero que es útil, en la que los códigos 0x00 a 0x1f permiten dibujar cuadros como los que se utilizan en aplicaciones como MSDOS Edit y Codeview. Una de las aplicaciones que utilizaba esta página de códigos era una utilidad de imagen de disco de instalación/recuperación de Intel Corporation de mediados/finales de 1995. Estos programas se escribieron para sus máquinas del programa de prueba de usuario P6 (ejemplo de EE. UU. [33] ). Se utilizaba exclusivamente en su región EMEA (Europa, Oriente Medio y África) de entonces. Con el tiempo, los programas se cambiaron para utilizar la página de códigos 850 .
Variante de Palm OS
Cada dispositivo Palm OS admite un único idioma y una única codificación de caracteres, dependiendo de su configuración regional. [34]
Para idiomas como inglés y francés, Palm OS utiliza una codificación de caracteres personalizada basada en Windows-1252. Para japonés, en cambio, utiliza una codificación de caracteres multibyte basada en la página de códigos 932. Independientemente de la configuración regional del sistema, se garantiza que todos los caracteres en el rango de 0x00 a 0x7F sean los mismos, excepto 0x5D, que es el signo del yen en japonés, y una barra invertida en todos los demás. [34]
Palm OS 3.1 introdujo varios cambios en la codificación de caracteres para alinearse mejor con Windows-1252: [35]
- Los glifos especiales de Palm OS "trazo de acceso directo" (0x9D) y "trazo de comando" (0x9E) se copiaron a 0x16 y 0x17, para garantizar que estuvieran en el rango garantizado para ser consistentes entre configuraciones regionales. [35] A partir de Palm OS 3.3, 0x16 y 0x17 son los únicos puntos de código para esos caracteres, [36] dejando 0x9D y 0x9E sin definir. [37]
- El espacio numérico (0x80) y los puntos suspensivos horizontales (0x85) se copiaron a 0x19 y 0x18 (respectivamente), para garantizar que estuvieran en el rango garantizado para ser consistentes entre configuraciones regionales. [35] [36]
- El símbolo del euro se agregó en 0x80, reemplazando lo que anteriormente era el espacio numérico. [36]
- Los palos de las cartas de juego fueron copiados a la fuente Symbol 9, [35] aunque sus puntos de código originales siguen siendo válidos. [36] [37]
La siguiente es la variante de Windows-1252 utilizada por Palm OS 3.3 en adelante para inglés y varias otras configuraciones regionales. [36] Python le da la palmos
etiqueta y la describe como la codificación para Palm OS 3.5. [38] [39] Las diferencias con Windows-1252 tienen su punto de código Unicode.
Véase también
Notas
- ^ Antes de Palm OS 3.1, el carácter en el punto de código 0x80 era U+2007 ESPACIO NUMÉRICO; a partir de Palm OS 3.1, 0x80 es el símbolo del euro y 0x19 es U+2007 ESPACIO NUMÉRICO. [36]
- ^ A partir de Palm OS 3.1, este carácter también se duplica en 0x18. [35] [36]
- ^ Antes de Palm OS 3.3, este punto de código era el carácter exclusivo de Palm OS "trazo de acceso directo"; a partir de Palm OS 3.3, este punto de código no está definido. [35] [36]
- ^ Antes de Palm OS 3.3, este punto de código era el carácter exclusivo de Palm OS "trazo de comando"; a partir de Palm OS 3.3, este punto de código no está definido. [35] [36]
Referencias
- ^ Conjuntos de caracteres, Autoridad de Números Asignados en Internet (IANA), 12 de diciembre de 2018
- ^ "Codificación. Nivel de vida". WHATWG . 13 de junio de 2024. § 9. Codificaciones heredadas de un solo byte . Consultado el 28 de junio de 2024 .
- ^ Karl-Bridge-Microsoft (26 de octubre de 2021). "Páginas de códigos: aplicaciones Win32". learn.microsoft.com . Consultado el 9 de octubre de 2024 .
- ^ ab "Tendencias históricas en las estadísticas de uso de codificaciones de caracteres para sitios web, diciembre de 2023". w3techs.com . Consultado el 19 de julio de 2024 .
- ^ ab "Codificación". WHATWG . 27 de enero de 2015. sec. 5.2 Nombres y etiquetas. Archivado desde el original el 4 de febrero de 2015 . Consultado el 4 de febrero de 2015 .
- ^ "Preguntas frecuentes". w3techs.com .
- ^ "Distribución de codificaciones de caracteres entre sitios web que utilizan Brasil". W3Techs . Archivado desde el original el 4 de abril de 2024 . Consultado el 19 de julio de 2024 .
- ^ "Distribución de codificaciones de caracteres entre sitios web que utilizan .de". W3Techs . Archivado desde el original el 4 de abril de 2024 . Consultado el 19 de julio de 2024 .
- ^ "Distribución de codificaciones de caracteres entre sitios web que utilizan alemán". w3techs.com . Consultado el 16 de enero de 2023 .
- ^ Wissink, Cathy (5 de abril de 2002). «Unicode y Windows XP» (PDF) . Microsoft . pág. 1. Archivado desde el original (PDF) el 4 de febrero de 2015. Consultado el 4 de febrero de 2015 .
- ^ "LaTeX News, Issue 28" (PDF; 379 KB) . El Proyecto LaTeX. Abr 2018 . Consultado el 27 de julio de 2024 .
- ^ "Inputenc – Acepta diferentes codificaciones de entrada". El Proyecto LaTeX. 2024-02-08 . Consultado el 2024-07-27 .
- ^ "Documento informativo de la página de códigos 1252". IBM. 30 de septiembre de 1997. Archivado desde el original el 3 de marzo de 2016.
- ^ "Documento informativo sobre CCSID 1252". IBM. Archivado desde el original el 26 de marzo de 2016.
- ^ "Documento informativo del CCSID 5348". IBM. Archivado desde el original el 29 de noviembre de 2014.
- ^ "Guía de instalación del cliente de base de datos". Oracle . Consultado el 14 de febrero de 2021 .
- ^ Texin, Tex. "Comparación de caracteres en Windows-1252, ISO-8859-1, ISO-8859-15". I18nQA.com .
- ^ van Emden, Eva (28 de enero de 2011). "Cómo hacer comillas tipográficas en HTML". vancouvereditor.com . Consultado el 7 de enero de 2024 .
Si utiliza comillas tipográficas sin especificar la codificación de caracteres adecuada para su archivo HTML, algunos de sus lectores verán signos de interrogación, cuadros u otros símbolos extraños en lugar de las hermosas comillas en espiral que deseaba que vieran.
- ^ "Comillas inteligentes en Word". Soporte técnico de Microsoft . Microsoft . Consultado el 7 de enero de 2024 .
- ^ "Búsqueda Web NetWare: Descripción de las codificaciones de conjuntos de caracteres". Documentación de Novell . Novell.
Si un documento no contiene un valor de codificación CHARSET, la codificación predeterminada para documentos HTML es ISO-8859-1, también conocida como Latin1. La codificación predeterminada para documentos de texto sin formato es US-ASCII.
- ^ Comportamiento observado en Chrome, puede ser UTF-8 en algunos navegadores. [ ¿Investigación original? ]
- ^ ab "Asignaciones Unicode de Windows-1252 con 'Best Fit'". Unicode . Archivado desde el original el 4 de febrero de 2015 . Consultado el 4 de febrero de 2015 .
- ^ Página de códigos 01252 (PDF) , IBM, 1998, archivado (PDF) desde el original el 27 de octubre de 2023
- ^ Página de códigos (CPGID) 01252 (txt) , IBM, 1998, archivado desde el original el 8 de abril de 2023
- ^ Componentes internacionales para Unicode (ICU), ibm-1252_P100-2000.ucm, 3 de diciembre de 2002
- ^ Componentes internacionales para Unicode (ICU), ibm-5348_P100-1997.ucm, 3 de diciembre de 2002
- ^ "Documento informativo de la página de códigos 1004". Archivado desde el original el 25 de junio de 2015.
- ^ "Documento informativo CCSID 1004". Archivado desde el original el 26 de marzo de 2016.
- ^ "Página de códigos 01004" (PDF) . IBM . Archivado (PDF) desde el original el 8 de julio de 2015.(versión basada en la versión Windows 3.1 de Windows-1252)
- ^ Página de códigos CPGID 01004 (pdf) (PDF) , IBM
- ^ Página de códigos CPGID 01004 (txt), IBM
- ^ Borgendale, Ken (2001). «Codepage 1004 - Windows Extended». Páginas de códigos de OS/2 por número . Archivado desde el original el 2018-05-13 . Consultado el 2018-05-13 .(versión basada en la versión actual de Windows-1252)
- ^ Storaasli, Olaf (1996). "Rendimiento de los solucionadores de ecuaciones de la NASA en aplicaciones de mecánica computacional" (PDF) . Rendimiento de los solucionadores de ecuaciones de la NASA en aplicaciones de mecánica computacional . NASA. doi :10.2514/6.1996-1505. S2CID 15711051. Archivado desde el original (PDF) el 2019-05-03.
- ^ ab "Capítulo 13: Aplicaciones localizadas". Palm OS Programmer's Companion (PDF) . Palm Computing Platform. 16 de marzo de 2000. pág. 321.
- ^ abcdefg "Apéndice B: Guía de compatibilidad". Referencia del SDK de Palm OS (PDF) . Palm Computing Platform. 16 de marzo de 2000. págs. 1181–1182.
- ^ abcdefghi Walleij, Linus. "Conjuntos de caracteres de Palm Pilot y asignaciones Unicode". Recodificación GNU . Datorföreningen vid Lunds Universitet och Lunds Tekniska Högskola . Consultado el 10 de octubre de 2023 .
- ^ abc Parker, Greg. "Fuentes integradas de Palm OS". Sealie Software . Consultado el 10 de octubre de 2023 .
- ^ "códecs—Registro de códecs y clases base (§ Codificaciones de texto)". La biblioteca estándar de Python—Documentación de Python 3.9.4 . Python Software Foundation .
- ^ ab Mullender, Sjoerd (13 de julio de 2002). "Códec de mapeo de caracteres de Python para Palm OS 3.5". Árbol de código fuente de CPython . Python Software Foundation . Consultado el 9 de diciembre de 2021 .
Enlaces externos
- Tablas de códigos de Microsoft para Windows-1252 ("Página de códigos 1252 Windows Latin 1 (ANSI)")
- Tabla de mapeo Unicode y definición de página de códigos con asignaciones de mejor ajuste para Windows-1252