31Aug

¿Qué son las codificaciones de caracteres como ANSI y Unicode, y cómo difieren?

click fraud protection

ASCII, UTF-8, ISO-8859. .. Es posible que haya visto estos monikers extraños flotando alrededor, pero ¿qué significan en realidad? Siga leyendo mientras explicamos qué es la codificación de caracteres y cómo estos acrónimos se relacionan con el texto simple que vemos en la pantalla.

Bloques de construcción fundamentales

Cuando hablamos de lenguaje escrito, hablamos de que las letras son los componentes básicos de las palabras, que luego construyen oraciones, párrafos, etc. Las letras son símbolos que representan sonidos. Cuando hablas de lenguaje, estás hablando de grupos de sonidos que se unen para formar algún tipo de significado. Cada sistema de lenguaje tiene un conjunto complejo de reglas y definiciones que rigen esos significados. Si tiene una palabra, es inútil a menos que sepa de qué idioma es y lo usa con otras personas que hablan ese idioma.

( Comparación de scripts Grantha, Tulu y Malayalam, Imagen de Wikipedia)

En el mundo de las computadoras, usamos el término "carácter". Un personaje es una especie de concepto abstracto, definido por parámetros específicos, pero es el fundamentalunidad de significadoLa 'A' latina no es lo mismo que una 'alfa' griega o una 'alif' árabe porque tienen contextos diferentes, son de idiomas diferentes y tienen pronunciaciones ligeramente diferentes, por lo que podemos decir que son caracteres diferentes. La representación visual de un personaje se llama "glifo" y los diferentes conjuntos de glifos se llaman fuentes. Los grupos de caracteres pertenecen a un "conjunto" o un "repertorio".

instagram viewer

Cuando escribe un párrafo y cambia la fuente, no está cambiando los valores fonéticos de las letras, está cambiando su apariencia. Es solo cosmético( ¡pero no sin importancia!).Algunos idiomas, como el egipcio antiguo y el chino, tienen ideogramas;estos representan ideas completas en lugar de sonidos, y sus pronunciaciones pueden variar a lo largo del tiempo y la distancia. Si sustituyes un personaje por otro, estás sustituyendo una idea. Es más que solo cambiar letras, está cambiando un ideograma.

Codificación de caracteres

( Imagen de Wikipedia)

Cuando escribe algo en el teclado, o carga un archivo, ¿cómo sabe la computadora qué mostrar? Para eso está la codificación de caracteres. El texto en su computadora no es en realidad letras, es una serie de valores alfanuméricos emparejados. La codificación de caracteres actúa como una clave para la cual los valores corresponden a cada carácter, al igual que la ortografía dicta los sonidos que corresponden a cada letra. El código Morse es un tipo de codificación de caracteres. Explica cómo los grupos de unidades largas y cortas, como los pitidos, representan caracteres. En el código Morse, los caracteres son solo letras inglesas, números y puntos. Hay muchas codificaciones de caracteres de computadora que se traducen en letras, números, acentos, signos de puntuación, símbolos internacionales, etc.

A menudo en este tema, también se usa el término "páginas de códigos".Son esencialmente codificaciones de caracteres utilizadas por empresas específicas, a menudo con ligeras modificaciones. Por ejemplo, la página de códigos de Windows 1252( anteriormente conocida como ANSI 1252) es una forma modificada del ISO-8859-1.Se usan principalmente como un sistema interno para referirse a codificaciones de caracteres estándar y modificadas que son específicas de los mismos sistemas. Al principio, la codificación de caracteres no era tan importante porque las computadoras no se comunicaban entre sí.Con el aumento de la prominencia de Internet y la creación de redes es un hecho común, se ha convertido en una cada vez más importante de nuestra vida cotidiana sin que siquiera nos demos cuenta.

Muchos tipos diferentes

( Imagen de sarah sosiak)

Existen muchas codificaciones de caracteres diferentes, y existen muchas razones para ello. La codificación de caracteres que elija usar depende de cuáles sean sus necesidades. Si se comunica en ruso, tiene sentido usar una codificación de caracteres que admita bien el cirílico. Si se comunica en coreano, querrá algo que represente bien a Hangul y Hanja. Si eres un matemático, entonces quieres algo que tenga todos los símbolos científicos y matemáticos bien representados, así como los glifos griegos y latinos. Si eres un bromista, tal vez te beneficiarías de un texto al revés. Y, si desea que todos los tipos de documentos sean vistos por una persona determinada, desea una codificación que sea bastante común y de fácil acceso.

Echemos un vistazo a algunos de los más comunes.

( Extracto de la tabla ASCII, Imagen de asciitable.com)

  • ASCII : el Código Estándar Americano para Intercambio de Información es una de las codificaciones de caracteres más antiguas. Originalmente se diseñó basándose en códigos telegráficos y evolucionó a lo largo del tiempo para incluir más símbolos y algunos caracteres de control no impresos ahora desactualizados. Es probable que sea lo más básico que pueda obtener en términos de sistemas modernos, ya que está limitado al alfabeto latino sin caracteres acentuados. Su codificación de 7 bits permite solo 128 caracteres, por lo que hay varias variantes no oficiales en uso en todo el mundo.
  • ISO-8859 : la codificación de caracteres más utilizada de la Organización Internacional de Normalización es el número 8859. Cada codificación específica se designa por un número, a menudo precedido de un apodo descriptivo, p. ISO-8859-3( Latin-3), ISO-8859-6( latín / árabe).Es un superconjunto de ASCII, lo que significa que los primeros 128 valores en la codificación son los mismos que en ASCII.Sin embargo, es de 8 bits y permite 256 caracteres, por lo que se desarrolla a partir de ahí e incluye una matriz mucho más amplia de caracteres, con cada codificación específica centrada en un conjunto diferente de criterios. Latin-1 incluyó un montón de letras y símbolos acentuados, pero luego fue reemplazado por un conjunto revisado llamado Latin-9 que incluye glifos actualizados como el símbolo del euro.

( Extracto de script tibetano, Unicode v4, desde unicode.org)

  • Unicode : este estándar de codificación tiene como objetivo la universalidad. Actualmente incluye 93 scripts organizados en varios bloques, con muchos más en proceso. Unicode funciona de forma diferente que otros juegos de caracteres en que en lugar de codificar directamente un glifo, cada valor se dirige más allá a un "punto de código". Estos son valores hexadecimales que corresponden a caracteres pero los glifos mismos se proporcionan de forma separada por el programa, como su navegador web. Estos puntos de código se representan comúnmente de la siguiente manera: U + 0040( que se traduce como '@').Codificaciones específicas bajo el estándar Unicode son UTF-8 y UTF-16.UTF-8 intenta permitir la máxima compatibilidad con ASCII.Es de 8 bits, pero permite todos los personajes a través de un mecanismo de sustitución y múltiples pares de valores por carácter. UTF-16 zanja la compatibilidad ASCII perfecta para una compatibilidad más completa de 16 bits con el estándar.
  • ISO-10646 : no es una codificación real, solo un conjunto de caracteres de Unicode que ha sido estandarizado por ISO.Es más importante porque es el repertorio de caracteres utilizado por HTML.Algunas de las funciones más avanzadas proporcionadas por Unicode que permiten la intercalación y de derecha a izquierda junto con las secuencias de comandos de izquierda a derecha faltan. Aún así, funciona muy bien para su uso en Internet, ya que permite el uso de una amplia variedad de scripts y permite que el navegador interprete los glifos. Esto hace que la localización sea algo más fácil.

¿Qué codificación debo usar?

Bueno, ASCII funciona para la mayoría de los hablantes de inglés, pero no para mucho más. Más a menudo verá ISO-8859-1, que funciona para la mayoría de los idiomas de Europa occidental. Las otras versiones de ISO-8859 funcionan para cirílico, árabe, griego u otros scripts específicos. Sin embargo, si desea visualizar varias secuencias de comandos en el mismo documento o en la misma página web, UTF-8 permite una compatibilidad mucho mejor. También funciona muy bien para las personas que usan la puntuación adecuada, símbolos matemáticos o personajes geniales, como cuadrados y casillas de verificación.

( múltiples idiomas en un documento, captura de pantalla de gujaratsamachar.com)

Sin embargo, existen inconvenientes para cada conjunto. ASCII está limitado en sus signos de puntuación, por lo que no funciona increíblemente bien para ediciones tipográficamente correctas.¿Alguna vez ha copiado / pegado de Word solo para tener una extraña combinación de glifos? Esa es la desventaja de ISO-8859, o más correctamente, su supuesta interoperabilidad con páginas de códigos específicas del sistema operativo( ¡estamos viendo USTED, Microsoft!).El mayor inconveniente de UTF-8 es la falta de soporte adecuado en las aplicaciones de edición y publicación. Otro problema es que los navegadores a menudo no interpretan y solo muestran la marca de orden de bytes de un carácter codificado en UTF-8.Esto da como resultado la visualización de glifos no deseados. Y, por supuesto, declarar una codificación y usar caracteres de otra sin declararlos / referenciarlos correctamente en una página web hace que sea difícil para los navegadores reproducirlos correctamente y para que los motores de búsqueda los indexen de manera adecuada.

Para sus propios documentos, manuscritos, etc., puede usar lo que necesite para hacer el trabajo. Sin embargo, en lo que respecta a la Web, parece que la mayoría de la gente está de acuerdo en usar una versión UTF-8 que no utiliza una marca de orden de bytes, pero eso no es del todo unánime. Como puede ver, cada codificación de caracteres tiene su propio uso, contexto, fortalezas y debilidades. Como usuario final, probablemente no tendrá que lidiar con esto, pero ahora puede dar un paso más si lo desea.