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 (conocidas como codificaciones de caracteres en otros sistemas operativos) utilizadas 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 necesaria ] aunque todavía son compatibles tanto en Windows como en otras plataformas, y aún se aplican cuando se usan atajos de código Alt .

Hay dos grupos de páginas de códigos del sistema en los sistemas Windows: páginas de códigos OEM y nativas de Windows ("ANSI"). (ANSI es el Instituto Nacional Estadounidense de Estándares ). Las páginas de códigos de ambos grupos son páginas de códigos ASCII extendidos . Las páginas de códigos adicionales son compatibles con las rutinas de conversión estándar de Windows, pero no se utilizan como ningún tipo de página de códigos del sistema.

Página de códigos ANSI

Las páginas de códigos ANSI (oficialmente llamadas "páginas de códigos de Windows" [1] después de que Microsoft aceptó que el término anterior era inapropiado [2] ) 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 inapropiado porque estas páginas de códigos de Windows no cumplen con ningún estándar ANSI (Instituto Nacional Estadounidense de Estándares) ; La página de códigos 1252 se basó en un borrador ANSI inicial que se convirtió en el estándar internacional ISO 8859-1 , [2] 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, haciéndolos, 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, 874 (tailandés) y las páginas de códigos "ANSI" multibyte de Asia oriental ( 932 , 936 , 949 , 950 ), todas las cuales 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 está idénticas 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 y no 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 siguientes, cuando corresponda.

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

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: [2]

Microsoft asignó alrededor de doce caracteres tipográficos y comerciales (incluido, en particular, el signo del euro , €) en CP1252 a los puntos de código 0x80–0x9F que, en ISO 8859, se asignan a 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 ningún 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 perjudicial. [ cita necesaria ]

Página de códigos OEM

Las páginas de códigos OEM ( fabricante de equipo original ) son utilizadas por las aplicaciones de consola Win32 y por el DOS virtual , y pueden considerarse un vestigio del DOS y de la arquitectura original de PC de IBM . Se implementó un conjunto separado de páginas de códigos no solo debido a la compatibilidad, sino también porque las fuentes del hardware VGA (y descendiente) sugieren que la codificación de caracteres de dibujo lineal sea compatible 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 aproximadamente. 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 la combinación de signos diacríticos , ya que el vietnamita requiere más de 128 combinaciones de letras y signos diacríticos. Esto contrasta con VISCII , que reemplaza algunos de los códigos de control C0 (es decir, ASCII).

Historia

Inicialmente, los sistemas informáticos y los lenguajes de programación de sistemas no hacían distinción entre caracteres y bytes : para las escrituras segmentarias utilizadas en la mayor parte de África, América, el sur y sudeste de Asia, Oriente Medio y Europa, un carácter necesita sólo un byte. , pero se necesitan dos o más bytes para los conjuntos ideográficos utilizados en el resto del mundo. Posteriormente, esto generó mucha confusión. El software y los sistemas de Microsoft anteriores a la línea Windows NT son ejemplos de esto, porque utilizan las páginas de códigos OEM y ANSI que no hacen distinción.

Desde finales de la década de 1990, el software y los sistemas han adoptado Unicode como su formato de almacenamiento preferido; Esta tendencia ha mejorado con la adopción generalizada de XML , que por defecto es UTF-8 pero que también proporciona un mecanismo para etiquetar la codificación utilizada. [4] Todos los productos actuales de Microsoft y las interfaces de programas de aplicaciones usan Unicode internamente, [ cita necesaria ] pero algunas aplicaciones continúan usando la codificación predeterminada de la 'localización' de la computadora al leer y escribir datos de texto en archivos o salida estándar. [ cita necesaria ] Por lo tanto, es posible que aún se encuentren archivos que sean legibles e inteligibles en una parte del mundo pero ininteligibles mojibake 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 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 la versión Windows 10. 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 ) está codificado 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 utiliza un byte para el juego de caracteres ASCII de 7 bits , dos o tres bytes para otros caracteres en 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 codificaciones SBCS ASCII extendidas de 8 bits y fueron diseñadas por Microsoft para su uso como páginas de códigos ANSI en Windows. Se les conoce comúnmente por sus nombres registrados en la IANA [6] como , pero a veces también se les llama "cp" para "página de códigos". Todos 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 páginas de códigos ANSI y cubre principalmente secuencias de comandos de Europa y Asia occidental con la adición de Vietnam . Las codificaciones del sistema para los idiomas tailandés y de Asia oriental se numeraron para que coincidan con páginas de códigos IBM similares y se utilizan como páginas de códigos ANSI y OEM; estos se tratan en las siguientes secciones.

páginas de códigos DOS

Estos también están basados ​​en ASCII. La mayoría de ellas 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

A menudo difieren de las páginas de códigos de IBM del mismo número: las páginas de códigos 932, 949 y 950 coinciden solo parcialmente con las páginas de códigos de IBM del mismo número, mientras que IBM utilizó el número 936 para otra codificación en 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 proporcionan 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 generalmente no se corresponden exactamente, y a veces no se corresponden en absoluto, con las páginas de códigos de IBM del mismo número.

Se admiten algunas páginas de códigos de varios bytes más para decodificar o codificar utilizando 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 el uso de Unicode en aplicaciones modernas, pero muchas aplicaciones o archivos de datos aún dependen de las páginas de códigos heredadas.

Ver también

Referencias

  1. ^ "Páginas de códigos". 2016-03-07. Archivado desde el original el 7 de marzo de 2016 . Consultado el 26 de mayo de 2021 .
  2. ^ 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 continúa persistiendo en la comunidad de Windows. La fuente de esto proviene del hecho de que la página de códigos de Windows 1252 se basó originalmente en un borrador ANSI, que se convirtió en el estándar 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 basadas en páginas de códigos.
  3. ^ "Conjuntos de caracteres". www.iana.org . Archivado desde el original el 25 de mayo de 2021 . Consultado el 26 de mayo de 2021 .
  4. ^ "Lenguaje de marcado extensible (XML) 1.1 (segunda edición): codificaciones de caracteres". W3C . 29 de septiembre de 2006. Archivado desde el original el 19 de abril de 2021 . Consultado el 5 de octubre de 2020 .
  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 3 de diciembre de 2016 . Consultado el 7 de abril de 2019 .
  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". Centro de conocimiento de IBM . IBM. Archivado desde el original el 18 de agosto de 2018 . Consultado el 8 de julio de 2020 .
  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 juegos de caracteres codificados: CCSID 5471". Globalización de IBM . IBM . Archivado desde el original el 29 de noviembre de 2014.
  29. ^ Julliard, Alejandro. "dump_krwansung_codepage: cree una tabla Wansung coreana a partir del archivo KSX1001". make_unicode: genera archivos .c de página de códigos a partir de descripciones de ftp.unicode.org . Proyecto Vino . 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" Extendida/Ext Alfa 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ágina de códigos". docs.microsoft.com . Archivado desde el original el 7 de abril de 2019 . Consultado el 7 de abril de 2019 .
  33. ^ Fundación abc Mozilla . "Relación con las páginas de códigos de Windows". Caja encoding_rs . Docs.rs.
  34. ^ 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 .
  35. ^ 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 .
  36. ^ 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 .
  37. ^ 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 .
  38. ^ 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 .
  39. ^ 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 .
  40. ^ 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 .
  41. ^ Nechayev, Valentín (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