De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

En este artículo se comparan varias representaciones binarias de conjuntos de caracteres de 8 bits para idiomas comunes de Europa occidental . Estas codificaciones fueron diseñadas para la representación de italiano , español , portugués , francés , alemán , holandés , inglés , danés , sueco , noruego e islandés , que usan el alfabeto latino , algunas letras adicionales y otras con diacríticos precompuestos , algo de puntuación y varios símbolos(incluidas algunas letras griegas). Aunque se les llama "Europa occidental", muchos de estos idiomas se hablan en todo el mundo. Además, estos conjuntos de caracteres son compatibles con muchos otros idiomas, como el malayo , el suajili y el latín clásico .

Este material es técnicamente obsoleto, habiendo sido reemplazado funcionalmente por Unicode . Sin embargo, sigue teniendo interés histórico.

Resumen [ editar ]

La serie ISO-8859 de conjuntos de caracteres de 8 bits codifica todos los conjuntos de caracteres latinos utilizados en Europa , aunque los mismos puntos de código tienen múltiples usos que causaron algunas dificultades (incluidos mojibake o caracteres confusos y problemas de comunicación). La llegada de Unicode , con un punto de código único para cada glifo , resolvió estos problemas.

  • ISO / IEC 8859-1 o Latin-1 es el más utilizado y también define los primeros 256 códigos en Unicode .
  • ISO / IEC 8859-15 modifica ISO-8859-1 para admitir totalmente el estonio , finlandés y francés y agregar el símbolo del euro .
  • Windows-1252 es un superconjunto de ISO-8859-1 que incluye los caracteres imprimibles de ISO / IEC 8859-15 y puntuación popular como las comillas curvas (también conocidas como comillas tipográficas , como en la configuración de Microsoft Word y programas similares). Es común que las herramientas de página web para Windows usen Windows-1252 pero etiqueten la página web como usando ISO-8859-1, esto se ha abordado en HTML5 , que exige que las páginas etiquetadas como ISO-8859-1 deben interpretarse como Windows- 1252.
  • IBM CP437 , que está diseñado solo para inglés , tiene muy pocas letras acentuadas (particularmente mayúsculas ) pero tiene muchos más caracteres gráficos que las otras páginas de códigos de IBM enumeradas aquí y también algunos caracteres matemáticos y griegos que son útiles como símbolos técnicos .
  • IBM CP850 tiene todos los caracteres imprimibles que tiene ISO-8859-1 (aunque organizados de manera diferente) y aún se las arregla para tener suficientes caracteres gráficos para construir una interfaz de usuario en modo texto utilizable .
  • IBM CP858 difiere de CP850 solo en un carácter: una i ( ı ) sin puntos , que rara vez se usa fuera de Turquía y sin equivalente en mayúsculas , fue reemplazada por el signo de moneda euro ( € ). [1]
  • IBM CP859 contiene todos los caracteres imprimibles que tiene ISO / IEC 8859-15 , por lo que, a diferencia de CP850 , admite el símbolo del euro , estonio , finlandés y francés .
  • Las páginas de códigos de IBM 037, 500 y 1047 son codificaciones EBCDIC que incluyen todos los caracteres ISO-8859-1 .
  • El conjunto de caracteres de Mac OS Roman (a menudo denominado MacRoman y conocido por IANA simplemente como MACINTOSH) tiene la mayoría, pero no todos, los mismos caracteres que ISO / IEC 8859-1, pero en una disposición muy diferente; y también agrega muchos caracteres técnicos y matemáticos (aunque carece de la importante × ) y más diacríticos . Se sabía que los navegadores web de Macintosh más antiguos mezclaban los pocos caracteres que estaban en ISO / IEC 8859-1, pero no su juego de caracteres nativo de Macintosh al editar texto de sitios web . Por el contrario, en el material web preparado en un Macintosh antiguo, muchos caracteres se mostraban incorrectamente cuando otros sistemas operativos los leían . La codificación Macintosh Latin , una modificación de Mac OS Roman para soportar ISO / IEC 8859-1, fue creada por los creadores de Kermit (protocolo) para resolver este problema.

Historia [ editar ]

Cuanto más temprano de siete bits de Estados Unidos Código Estándar Americano para Intercambio de Información ( 'ASCII') de codificación tiene suficientes caracteres para representar adecuadamente sólo unos pocos idiomas como el Inglés, Latín, malayo y swahili. Faltan algunas letras y combinaciones de letras y diacríticos que se utilizan en otros idiomas del alfabeto latino. Sin embargo, dado que no había otra opción en la mayoría de las plataformas informáticas suministradas por los EE. UU., El uso de ASCII era inevitable, excepto donde existía una fuerte industria informática nacional. Estaba el grupo de codificaciones ISO 646 que reemplazó algunos de los símbolos en ASCII con caracteres locales, pero el espacio era muy limitado y algunos de los símbolos reemplazados eran bastante comunes en cosas como lenguajes de programación.

La mayoría de las computadoras usaban internamente bytes de ocho bits, pero la comunicación (considerada inherentemente poco confiable) usaba siete bits de datos más un bit de paridad . Con el tiempo, se hizo común usar los ocho bits para datos, creando espacio para otros 128 caracteres. En los primeros días, la mayoría de estos eran específicos del sistema, pero gradualmente surgieron los estándares ISO / IEC 8859 para proporcionar cierta similitud entre plataformas para permitir el intercambio de información.

Hacia fines del siglo XX, a medida que disminuyeron los costos de almacenamiento y memoria, los problemas asociados con los significados múltiples de un código de ocho bits dado (solo hay siete conjuntos de códigos ISO-Latin) han dejado de estar justificados. Todos los principales sistemas operativos se han trasladado a Unicode como su principal representación interna. Sin embargo, como Windows no admitía el método UTF-8 para codificar Unicode (prefiriendo UTF-16 ), muchas aplicaciones continuaron restringidas a estos conjuntos de caracteres heredados.

El signo del euro [ editar ]

El euro y su símbolo del euro introdujeron una presión significativa para admitir el signo del euro (€), y la mayoría de los conjuntos de caracteres de 8 bits tuvieron que adaptarse de alguna manera.

  • Apple con MacRoman y Sun Microsystems con Solaris OS simplemente reemplazaron el signo de moneda genérico ( ¤ ). Esto provocó una dificultad significativa porque las organizaciones le habían encontrado otros usos, como el logotipo de la empresa.
  • ISO introdujo una variante adicional de ISO 8859, ISO 8859-15 , que reemplazó el signo de moneda genérico con el signo del euro, además de hacer algunos otros reemplazos de símbolos con letras con diacríticos. ISO 8859-15 nunca recibió una adopción generalizada.
  • Con Windows-1252 , Microsoft colocó el símbolo del euro en un espacio (posición 80 hex ) en los códigos de control C1 existentes .

Todos estos problemas se han resuelto ya que los sistemas operativos se han actualizado para admitir Unicode como estándar, que codifica el signo del euro en U + 20AC (decimal 8364).

Tabla comparativa [ editar ]

Los puntos de código U + 0000 a U + 007F no se muestran en esta tabla actualmente, ya que están mapeados directamente en todos los conjuntos de caracteres enumerados aquí. El estándar de codificación ASCII define la especificación original para el mapeo de los primeros 0-127 caracteres.

La tabla está organizada por punto de código Unicode . Los conjuntos de caracteres se denominan aquí por sus nombres IANA en mayúsculas .

  • Las asignaciones para las páginas de códigos de IBM provienen del sitio Unicode proporcionado por Microsoft . Consulte el documento del Consorcio Unicode sobre las diferencias entre las asignaciones de IBM y Microsoft para estas páginas de códigos.
  • IBM437 e IBM850 definieron caracteres imprimibles para los rangos de códigos de control. Si bien estos no se pueden usar al imprimir texto a través de DOS , ya que quedarían atrapados antes de llegar a la pantalla, podrían ser usados ​​por aplicaciones que usaran la memoria de la pantalla directamente.
  • Macintosh tiene un logotipo de Apple ⟨⟩ en 0xF0 y lo traduce a U + F8FF en el Área de uso privado para Unicode.

Notas [ editar ]

  1. ^ PC DOS 2000 de IBM, lanzado en 1998, cambió su definición de la página de códigos 850 a lo que llamaron la página de códigos modificada 850 que ahora incluye el símbolo del euro en el punto de código 213 en lugar de agregar soporte para la nueva página de códigos 858 . La razón de esto podría deberse a las restricciones existentes en la implementación de la lógica de cambio de página de códigos en MS-DOS / PC DOS , que limitaba los archivos .CPI a un tamaño de 64 KB o aproximadamente seis páginas de códigos como máximo, una limitación que se eludió en algunas versiones OEM de MS-DOS, en Windows NT , y tampoco existe en DR-DOS. Además, el analizador en MS-DOS / PC DOS limita el número de posibles entradas de país / página de códigos en archivos COUNTRY.SYS a un máximo de 146 o 438, una limitación que no existe en DR-DOS. Por lo tanto, agregar soporte para la página de códigos 858 podría haber significado eliminar otra (por ejemplo, la página de códigos 850) al mismo tiempo, lo que podría no haber sido una solución viable en ese momento, dado que algunas aplicaciones estaban programadas para usar la página de códigos 850.

Referencias [ editar ]

  1. ^ "00858" . Páginas de códigos por CPGID . IBM . Archivado desde el original el 6 de junio de 2016 . Consultado el 6 de junio de 2016 .
  2. Paul, Matthias R. (15 de agosto de 2001). "Cambio de páginas de códigos en FreeDOS" (Especificación de diseño técnico basada en fd-dev post [1] ). Archivado desde el original el 6 de junio de 2016 . Consultado el 6 de junio de 2016 . El nuevo ID oficial para la "página de códigos 850 con EURO SIGN" multilingüe es 858, no 850. IBM cambiará para usar 858 en lugar de su variante 850 con futuras ediciones de sus productos. [...] Sólo puedo imaginar por qué no añadir 858 a sus EGAx.CPI , COUNTRY.SYS y KEYBOARD.SYS archivos en el PC DOS 2000. Muchas aplicaciones de terceros están diseñadas para funcionar con 850 y no conocían 858 cuando se lanzó PC DOS 2000, por lo que es más fácil para todos, pero desafortunadamente no es compatible. […] Como se explicó anteriormente, COUNTRY.SYS y KEYBOARD.SYS contienen solo dos entradas de página de códigos para un país determinado en las ediciones occidentales de DOS. (En las ediciones árabe y hebrea, puede haber hasta 8 páginas de códigos para un país, en teoría no hay límite por debajo del rango de páginas de códigos permitidas 1..65534). […] El problema es que eliminar el soporte para 850 podría haber causado problemas de compatibilidad con aplicaciones que están programadas para usar 850. Agregar 858 como tercera opción a todos los archivos habría aumentado significativamente el tamaño de los archivos y las tablas. El analizador de archivos COUNTRY.SYS en MS-DOS / PC DOS IO.SYS / IBMBIO.COMreserva un bloc de notas de 6 Kb (para DOS 6) para cargar toda la información. Esto permite que se acepten un máximo de 438 entradas en un archivo COUNTRY.SYS; de lo contrario, aparecerá el mensaje "COUNTRY.SYS demasiado grande". El analizador NLSFUNC no tiene esta limitación, y los analizadores de archivos en DR-DOS (kernel y NLSFUNC) tampoco conocen tal restricción. Las versiones anteriores de MS-DOS / PC DOS incluso tenían un búfer de 2 Kb para un máximo de 146 entradas.
  3. Paul, Matthias R. (27 de agosto de 2001). "Cambio de páginas de códigos en FreeDOS (seguimiento)" . Archivado desde el original el 1 de octubre de 2014 . Consultado el 8 de mayo de 2013 . […] También se podrían crear archivos .CPI personalizados en el estilo tradicional FONT sin dificultades, pero solo se podrían almacenar hasta […] seis páginas de códigos en un archivo de este tipo si fuera utilizable por MS-DOS / PC DOS (algunos OEM problemas y NT puede manejar archivos de más de 64 Kb, pero MS-DOS / PC DOS no puede).