stringtranslate.com

Página de códigos de Windows

Las páginas de códigos de Windows son conjuntos de caracteres o páginas de códigos (conocidos como codificaciones de caracteres en otros sistemas operativos) utilizados en Microsoft Windows desde los años 1980 y 1990. Las páginas de códigos de Windows fueron reemplazadas gradualmente cuando se implementó Unicode en Windows , [ cita requerida ] aunque todavía son compatibles tanto dentro de Windows como en otras plataformas, y aún se aplican cuando se utilizan atajos de código Alt .

Las versiones actuales de Windows admiten Unicode , las nuevas aplicaciones de Windows deben utilizar Unicode (UTF-8) y no codificaciones de caracteres de 8 bits. [1]

Existen dos grupos de páginas de códigos de sistema en los sistemas Windows: páginas de códigos OEM y nativas de Windows ("ANSI"). (ANSI es el American National Standards Institute ). Las páginas de códigos de ambos grupos son páginas de códigos ASCII extendidas . Las rutinas de conversión estándar de Windows admiten páginas de códigos adicionales, pero no se utilizan como ningún tipo de página de códigos de sistema.

Página de códigos ANSI

Las páginas de códigos ANSI (oficialmente llamadas "páginas de códigos de Windows" [2] después de que Microsoft aceptara que el término anterior era un nombre inapropiado [3] ) se utilizan para aplicaciones nativas no Unicode (por ejemplo, orientadas a bytes ) que utilizan una interfaz gráfica de usuario en sistemas Windows. El término "ANSI" es un nombre inapropiado porque estas páginas de códigos de Windows no cumplen con ningún estándar ANSI (American National Standards Institute) ; la página de códigos 1252 se basó en un borrador ANSI temprano que se convirtió en el estándar internacional ISO 8859-1 [3] , que agrega 32 códigos de control adicionales y espacio para 96 ​​caracteres imprimibles. Entre otras diferencias, las páginas de códigos de Windows asignan caracteres imprimibles al espacio de código de control suplementario, lo que las hace, en el mejor de los casos, ilegibles para los sistemas operativos que cumplen con los estándares.)

La mayoría de las páginas de códigos "ANSI" heredadas tienen números de página de códigos en el patrón 125x. Sin embargo, la 874 (Tailandia) y las páginas de códigos "ANSI" multibyte de Asia Oriental ( 932 , 936 , 949 , 950 ), que también se utilizan como páginas de códigos OEM, están numeradas para coincidir con las codificaciones de IBM, ninguna de las cuales es idéntica a las codificaciones de Windows (aunque la mayoría son similares). Si bien la página de códigos 1258 también se utiliza como página de códigos OEM, es original de Microsoft en lugar de una extensión de una codificación existente. IBM ha asignado sus propios números diferentes para las variantes de Microsoft; estos se proporcionan como referencia en las listas a continuación cuando corresponda.

Todas las páginas de códigos de Windows 125x, así como las páginas 874 y 936, están etiquetadas por la Autoridad de Números Asignados de Internet (IANA) como " número Windows ", aunque "Windows-936" se considera un sinónimo de " GBK ". La página de códigos de Windows 932 está etiquetada como "Windows-31J". [4]

Las páginas de códigos ANSI de Windows, y especialmente la página de códigos 1252 , se denominaron así porque supuestamente se basaban en borradores enviados o destinados a ANSI. Sin embargo, ANSI e ISO no han estandarizado ninguna de estas páginas de códigos. En cambio, son: [3]

Microsoft asignó alrededor de doce de los caracteres tipográficos y comerciales (incluido, en particular, el símbolo del euro , €) en CP1252 a los puntos de código 0x80–0x9F que, en ISO 8859, están asignados a los códigos de control C1 . Estas asignaciones también están presentes en muchas otras páginas de códigos ANSI/Windows en los mismos puntos de código. Windows no utilizó los códigos de control C1, por lo que esta decisión no tuvo un efecto directo en los usuarios de Windows. Sin embargo, si se incluía en un archivo transferido a una plataforma compatible con estándares como Unix o MacOS, la información era invisible y potencialmente disruptiva. [ cita requerida ]

Página de códigos OEM

Las páginas de códigos OEM ( original equipment manufacturer ) son utilizadas por las aplicaciones de consola Win32 y por el DOS virtual , y pueden considerarse un remanente del DOS y de la arquitectura original de IBM PC . Se implementó un conjunto separado de páginas de códigos no solo por compatibilidad, sino también porque las fuentes del hardware VGA (y descendientes) sugieren la codificación de caracteres de dibujo de líneas para que sean compatibles con la página de códigos 437. La mayoría de las páginas de códigos OEM comparten muchos puntos de código, particularmente para caracteres que no son letras, con la segunda mitad (no ASCII) de CP437.

Una página de códigos OEM típica, en su segunda mitad, no se parece a ninguna página de códigos ANSI/Windows ni siquiera de forma aproximada. Sin embargo, se utilizan dos páginas de códigos de un solo byte y ancho fijo (874 para tailandés y 1258 para vietnamita ) y cuatro páginas de códigos CJK multibyte ( 932 , 936 , 949 , 950 ) como páginas de códigos OEM y ANSI. La página de códigos 1258 utiliza diacríticos combinados , ya que el vietnamita requiere más de 128 combinaciones de letras y diacríticos. Esto contrasta con VISCII , que reemplaza algunos de los códigos de control C0 (es decir, ASCII).

Historia

Los primeros sistemas informáticos tenían un almacenamiento limitado y restringían la cantidad de bits disponibles para codificar un carácter . Aunque las codificaciones propietarias anteriores tenían menos, el Código estándar estadounidense para el intercambio de información (ASCII) se estableció en siete bits: esto era suficiente para codificar un subconjunto de 96 miembros de los caracteres utilizados en los EE. UU. A medida que los bytes de ocho bits comenzaron a predominar, Microsoft (y otros) expandieron el repertorio a 224, para manejar una variedad de otros usos, como símbolos de dibujo de cajas. La necesidad de proporcionar caracteres precompuestos para los mercados de Europa occidental y América del Sur requirió un conjunto de caracteres diferente: Microsoft estableció el principio de páginas de códigos, una para cada alfabeto. Para los scripts segmentarios utilizados en la mayor parte de África, las Américas, el sur y el sudeste de Asia, Oriente Medio y Europa, un carácter necesita solo un byte, pero se necesitan dos o más bytes para los conjuntos ideográficos utilizados en el resto del mundo. El modelo de página de códigos no pudo manejar este desafío.

Desde finales de los años 1990, el software y los sistemas han adoptado Unicode como su formato de codificación de caracteres preferido: Unicode está diseñado para manejar millones de caracteres. Todos los productos y las interfaces de programas de aplicación actuales de Microsoft utilizan Unicode internamente, [ cita requerida ] pero algunas aplicaciones siguen utilizando la codificación predeterminada [ aclaración necesaria ] de la "configuración regional" de la computadora al leer y escribir datos de texto en archivos o en la salida estándar. [ cita requerida ] Por lo tanto, aún se pueden encontrar archivos que sean legibles e inteligibles en una parte del mundo, pero ininteligibles en otra.

UTF-8, UTF-16

Microsoft adoptó una codificación Unicode (primero la ahora obsoleta UCS-2 , que entonces era la única codificación de Unicode), es decir, UTF-16 para todos sus sistemas operativos desde Windows NT en adelante, pero además admite UTF-8 (también conocido como CP_UTF8) desde Windows 10 versión 1803. [ 5] UTF-16 codifica de forma única todos los caracteres Unicode en el Plano Multilingüe Básico (BMP) utilizando 16 bits, pero el Unicode restante (por ejemplo, emojis ) se codifica con un código de 32 bits (cuatro bytes), mientras que el resto de la industria ( sistemas tipo Unix y la web), y ahora Microsoft eligió UTF-8 (que usa un byte para el conjunto de caracteres ASCII de 7 bits , dos o tres bytes para otros caracteres en el BMP y cuatro bytes para el resto).

Lista

Existen las siguientes páginas de códigos de Windows:

Serie Windows-125x

Estas nueve páginas de códigos son todas codificaciones SBCS ASCII de 8 bits extendidas y fueron diseñadas por Microsoft para su uso como páginas de códigos ANSI en Windows. Se las conoce comúnmente por sus nombres registrados por la IANA [6] como , pero también se las denomina a veces , "cp" de "página de códigos". Todas se utilizan como páginas de códigos ANSI; Windows-1258 también se utiliza como página de códigos OEM.windows-<number>cp<number>

La serie Windows-125x incluye nueve de las páginas de códigos ANSI y cubre principalmente los alfabetos de Europa y Asia occidental , además del de Vietnam . Las codificaciones del sistema para los idiomas tailandés y del este de Asia se numeraron para que coincidieran con las páginas de códigos de IBM similares y se utilizan como páginas de códigos ANSI y OEM; se tratan en las siguientes secciones.

Páginas de códigos DOS

Estos también están basados ​​en ASCII. La mayoría de ellos se incluyen para su uso como páginas de códigos OEM; la página de códigos 874 también se utiliza como página de códigos ANSI.

Páginas de códigos multibyte de Asia oriental

Estos a menudo difieren de las páginas de códigos IBM del mismo número: las páginas de códigos 932, 949 y 950 solo coinciden parcialmente con las páginas de códigos IBM del mismo número, mientras que el número 936 fue utilizado por IBM para otra codificación de chino simplificado que ahora está en desuso y Windows-951, como parte de una chapuza , no está relacionado con IBM-951. Las páginas de códigos equivalentes de IBM se dan en la segunda columna. Las páginas de códigos 932, 936, 949 y 950/951 se utilizan como páginas de códigos ANSI y OEM en las configuraciones regionales en cuestión.

Las páginas de códigos de Microsoft para chino, japonés y coreano normalmente no corresponden exactamente, y a veces no corresponden en absoluto, a las páginas de códigos de IBM del mismo número.

Se admiten algunas páginas de códigos de varios bytes adicionales para decodificar o codificar mediante bibliotecas del sistema operativo, pero no se utilizan como ningún tipo de codificación del sistema en ninguna configuración regional.

Páginas de códigos EBCDIC

Páginas de códigos relacionados con Unicode

Páginas de códigos de compatibilidad con Macintosh

Páginas de códigos ISO 8859

Páginas de códigos UIT-T

Páginas de códigos KOI8

Problemas derivados del uso de páginas de códigos

Microsoft recomienda encarecidamente utilizar Unicode en aplicaciones modernas, pero muchas aplicaciones o archivos de datos aún dependen de las páginas de códigos heredadas.

Véase también

Referencias

  1. ^ "Unicode y conjuntos de caracteres". Microsoft. 2023-06-13 . Consultado el 2024-05-27 .
  2. ^ "Páginas de códigos". 7 de marzo de 2016. Archivado desde el original el 7 de marzo de 2016. Consultado el 26 de mayo de 2021 .
  3. ^ abc "Glosario de términos utilizados en este sitio". 8 de diciembre de 2018. Archivado desde el original el 8 de diciembre de 2018. El término "ANSI" utilizado 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. La fuente de esto proviene del hecho de que la página de códigos 1252 de Windows se basó originalmente en un borrador ANSI, que se convirtió en la Norma 8859-1 de la Organización Internacional de Normalización (ISO). Las "aplicaciones ANSI" suelen ser una referencia a aplicaciones que no son Unicode o que se basan en páginas de códigos.
  4. ^ "Conjuntos de caracteres". www.iana.org . Archivado desde el original el 25 de mayo de 2021 . Consultado el 26 de mayo de 2021 .
  5. ^ hylom (14 de noviembre de 2017). "Windows 10のInsider PreviewでシステムロケールをUTF-8にするオプションが追加される" [La opción para hacer que UTF-8 sea la configuración regional del sistema agregada en Windows 10 Insider Preview].スラド(en japonés). Archivado desde el original el 11 de mayo de 2018 . Consultado el 10 de mayo de 2018 .
  6. ^ "Conjuntos de caracteres". IANA. Archivado desde el original el 2016-12-03 . Consultado el 2019-04-07 .
  7. ^ Microsoft. «Windows 1250». Archivado desde el original el 14 de julio de 2014. Consultado el 6 de julio de 2014 .
  8. ^ IBM. «Documento de información de la página de códigos SBCS CPGID 01250». Archivado desde el original el 14 de julio de 2014. Consultado el 6 de julio de 2014 .
  9. ^ Microsoft. «Windows 1251». Archivado desde el original el 14 de julio de 2014. Consultado el 6 de julio de 2014 .
  10. ^ IBM. «Documento de información de la página de códigos SBCS CPGID 01251». Archivado desde el original el 14 de julio de 2014. Consultado el 6 de julio de 2014 .
  11. ^ Microsoft. «Windows 1252». Archivado desde el original el 4 de mayo de 2013. Consultado el 6 de julio de 2014 .
  12. ^ IBM. «Documento de información de la página de códigos SBCS CPGID 01252». Archivado desde el original el 14 de julio de 2014. Consultado el 6 de julio de 2014 .
  13. ^ Microsoft. «Windows 1253». Archivado desde el original el 14 de julio de 2014. Consultado el 6 de julio de 2014 .
  14. ^ IBM. «Documento de información de la página de códigos SBCS CPGID 01253». Archivado desde el original el 14 de julio de 2014. Consultado el 6 de julio de 2014 .
  15. ^ Microsoft. «Windows 1254». Archivado desde el original el 14 de julio de 2014. Consultado el 6 de julio de 2014 .
  16. ^ IBM. «Documento de información de la página de códigos SBCS CPGID 01254». Archivado desde el original el 14 de julio de 2014. Consultado el 6 de julio de 2014 .
  17. ^ Microsoft. «Windows 1255». Archivado desde el original el 14 de julio de 2014. Consultado el 6 de julio de 2014 .
  18. ^ IBM. «Documento de información de la página de códigos SBCS CPGID 01255». Archivado desde el original el 14 de julio de 2014. Consultado el 6 de julio de 2014 .
  19. ^ Microsoft. «Windows 1256». Archivado desde el original el 14 de julio de 2014. Consultado el 6 de julio de 2014 .
  20. ^ IBM. «Documento de información de la página de códigos SBCS CPGID 01256». Archivado desde el original el 14 de julio de 2014. Consultado el 6 de julio de 2014 .
  21. ^ Microsoft. «Windows 1257». Archivado desde el original el 16 de marzo de 2013. Consultado el 6 de julio de 2014 .
  22. ^ IBM. «Documento de información de la página de códigos SBCS CPGID 01257». Archivado desde el original el 14 de julio de 2014. Consultado el 6 de julio de 2014 .
  23. ^ Microsoft. «Windows 1258». Archivado desde el original el 25 de octubre de 2013. Consultado el 6 de julio de 2014 .
  24. ^ IBM. «Documento de información de la página de códigos SBCS CPGID 01258». Archivado desde el original el 14 de julio de 2014. Consultado el 6 de julio de 2014 .
  25. ^ 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 .
  26. ^ "IBM-943 e IBM-932". IBM Knowledge Center . IBM. Archivado desde el original el 2018-08-18 . Consultado el 2020-07-08 .
  27. ^ "Explorador de convertidores: ibm-1373_P100-2002". Demostración de la UCI . Componentes internacionales para Unicode . Archivado desde el original el 26 de mayo de 2021 . Consultado el 27 de junio de 2020 .
  28. ^ "Identificadores de conjuntos de caracteres codificados – CCSID 5471". IBM Globalization . IBM . Archivado desde el original el 29 de noviembre de 2014.
  29. ^ Julliard, Alexandre (11 de marzo de 2021). «dump_krwansung_codepage: crea la tabla Wansung coreana a partir del archivo KSX1001». make_unicode: genera archivos .c de páginas de códigos a partir de las descripciones de ftp.unicode.org . Proyecto Wine . Archivado desde el original el 26 de mayo de 2021 . Consultado el 14 de marzo de 2021 .
  30. ^ IBM. «Documento de información de la página de códigos SBCS - CPGID 00037». Archivado desde el original el 14 de julio de 2014. Consultado el 4 de julio de 2014 .
  31. ^ Steele, Shawn (12 de septiembre de 2005). «Página de códigos 21027 «Alfa extendida/externa minúscula»». MSDN . Archivado desde el original el 6 de abril de 2019 . Consultado el 6 de abril de 2019 .
  32. ^ abcde «Identificadores de páginas de códigos». docs.microsoft.com . Archivado desde el original el 7 de abril de 2019 . Consultado el 7 de abril de 2019 .
  33. ^ abc Mozilla Foundation . "Relación con las páginas de códigos de Windows". Crate encoding_rs . Docs.rs.
  34. ^ abcde «Identificadores de páginas de códigos». Microsoft Developer Network . Microsoft . 2014. Archivado desde el original el 19 de junio de 2016. Consultado el 19 de junio de 2016 .
  35. ^ abcde "Codificaciones web - Internet Explorer - Codificaciones". Wiki WHATWG . 23 de octubre de 2012. Archivado desde el original el 20 de junio de 2016. Consultado el 20 de junio de 2016 .
  36. ^ Foller, Antonin (2014) [2011]. "Codificación de Europa occidental (IA5) - Conjuntos de caracteres de Windows". WUtils.com - Utilidad web en línea y ayuda . Motobit Software. Archivado desde el original el 20 de junio de 2016. Consultado el 20 de junio de 2016 .
  37. ^ Foller, Antonin (2014) [2011]. «Codificación alemana (IA5) – Conjuntos de caracteres de Windows». WUtils.com – Utilidad web en línea y ayuda . Motobit Software. Archivado desde el original el 20 de junio de 2016. Consultado el 20 de junio de 2016 .
  38. ^ Foller, Antonin (2014) [2011]. "Codificación sueca (IA5) - Conjuntos de caracteres de Windows". WUtils.com - Utilidad web en línea y ayuda . Motobit Software. Archivado desde el original el 20 de junio de 2016. Consultado el 20 de junio de 2016 .
  39. ^ Foller, Antonin (2014) [2011]. "Codificación noruega (IA5) - Conjuntos de caracteres de Windows". WUtils.com - Utilidad web en línea y ayuda . Motobit Software. Archivado desde el original el 20 de junio de 2016. Consultado el 20 de junio de 2016 .
  40. ^ Foller, Antonin (2014) [2011]. "Codificación US-ASCII - Conjuntos de caracteres de Windows". WUtils.com - Utilidad web en línea y ayuda . Motobit Software. Archivado desde el original el 20 de junio de 2016. Consultado el 20 de junio de 2016 .
  41. ^ Nechayev, Valentin (2013) [2001]. «Revisión del universo de codificaciones cirílicas de 8 bits». Archivado desde el original el 5 de diciembre de 2016. Consultado el 5 de diciembre de 2016 .

Enlaces externos