Unicode frente a ASCII

Unicode frente a ASCII

¿Por qué se utiliza Unicode en los sistemas operativos más recientes en lugar de ASCII?

Respuesta1

Porque proporciona un mapeo fácil y uniforme de todos los caracteres actualmente en uso sin tener que cambiar de página de códigos. Además, probablemente te refieres a EASCII o ANSI (o algún otro derivado con 256 caracteres).

Para darle un ejemplo: usar ruso y checo en el mismo sistema habría sido imposible hace algún tiempo (es decir, sin Unicode), porque las páginas de códigos habrían entrado en conflicto. Por lo tanto, los nombres de los archivos (entre otros objetos) se habrían mostrado incorrectamente para cualquiera de ellos, dependiendo de la página de códigos seleccionada actualmente.

Unicode mitiga eso y agrega algunos otros conceptos. Para obtener una buena descripción general, puedo recomendar "Unicode Explicado" de O'Reilly. Además, está escrito por alguien que se preocupa por la internacionalización, lo que no se puede decir, ni siquiera ahora, de muchos hablantes nativos de inglés, ya que ASCII (0..127) se puede usar para cubrir todas las oraciones en inglés y no existen problemas con la página de códigos, incluso cuando usando EASCII siempre que se ciña a caracteres latinos simples.

Si bien las implementaciones difieren (Debian usa UTF-8, mientras que Windows más nuevo usa UTF-16 y Windows más antiguo basado en NT usaba UCS-2, un subconjunto de UTF-16), Unicode elimina todas las limitaciones impuestas por las páginas de códigos, lo cual eselargumento asesino para usarlo.

Si te interesa para programación, echa un vistazo a ICU.

Respuesta2

Respuesta corta: porque Unicode admite más caracteres que ASCII.

DeWikipedia:

Unicode está destinado a abordar la necesidad de una codificación de texto mundial viable y confiable. Unicode podría describirse aproximadamente como "ASCII de cuerpo ancho" que se ha ampliado a 16 bits para abarcar los caracteres de todos los idiomas vivos del mundo. En un diseño diseñado adecuadamente, 16 bits por carácter son más que suficientes para este propósito.

Respuesta3

UTF-8 fue diseñado desde cero para ser compatible con versiones anteriores de ASCII. Instantáneamente, cualquier sistema ASCII de 7 bits se convirtió instantáneamente en un sistema UTF-8 básico (aunque no necesariamente maneja más de los 127 caracteres del ASCII básico).

UTF-8 amplía el sistema ASCII al permitir que se junten varios bytes para formar un solo carácter. Esto permite a los ordenadores manejar cientos de miles de caracteres diferentes, cuyo objetivo es poder tener todos los caracteres de todos los alfabetos de todos los idiomas juntos en una gran tabla de caracteres.

http://en.wikipedia.org/wiki/UTF-8explica cómo funciona todo en detalle.

información relacionada