codigos alfanumericos

Instituto Tecnológico de Durango Ing. Mecatrónica Electrónica digital MK2225 Unidad temática No. 2 Códigos alfanuméricos

Views 148 Downloads 4 File size 658KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Instituto Tecnológico de Durango Ing. Mecatrónica Electrónica digital MK2225 Unidad temática No. 2 Códigos alfanuméricos. Código ASCII, ASCII Extendido, Unicode UTF-8 y UTF-16

Alumno: Jorge Alberto Campos Méndez

No. de control: 11040321

Profesor: Miguel Ángel Esparza Ávila Códigos alfanuméricos

1 Fecha: martes 17 de septiembre del 2013

El sistema de numeración binario es el más importante en los sistemas digitales, pero hay otros que también lo son y son muy utilizados por su mayor facilidad de manipulación en respecto a los binarios, ejemplos de estos otros sistemas son él; octal y hexadecimal. En un sistema digital se puede hacer uso de varios sistemas de enumeración a la vez y el sistema debe de tener el entendimiento de la operación solicitada. Muchas de las aplicaciones de las computadoras digitales requieren la manipulación de datos que constan no sólo de números, sino también de letras. Para representar cadenas de caracteres alfabéticos es necesario tener un código binario para el alfabeto. Además el mismo código binario debe representar números y algunos otros caracteres especiales. Un código alfanumérico es un código binario de un grupo de elementos que constan de diez dígitos decimales, las 26 letras del alfabeto y cierto número de de símbolos especiales como el $, &, %, #, etc. Para superar los inconvenientes de la representación binaria real, se han desarrollado varios códigos en base binaria de longitud fija. Estos códigos ponen a disposición de la computadora letras y otros tipos de caracteres, así como números en forma binaria. Debido a que son códigos de longitud fija, la computadora puede con facilidad decir cuándo termina un carácter y empieza otro.

Código ASCII:

2 Fecha: martes 17 de septiembre del 2013

El código ASCII (siglas en ingles para American Standard Code for Information Interchange, es decir Código Americano Estándar para el intercambio de Información) (se pronuncia Aski). Fue creado en 1963 por el Comité Estadounidense de Estándares o "ASA", este organismo cambio su nombre en 1969 por "Instituto Estadounidense de Estándares Nacionales" o "ANSI" como se lo conoce desde entonces. En un primer momento solo incluía letras mayúsculas y números, pero en 1967 se agregaron las letras minúsculas y algunos caracteres de control, formando así lo que se conoce como US-ASCII, es decir los caracteres del 0 al 127. Así con este conjunto de solo 128 caracteres fue publicado en 1967 como estándar, conteniendo todos lo necesario para escribir en idioma ingles. En 1981, la empresa IBM desarrolló una extensión de 8 bits del código ASCII, llamada "pagina de código 437", en esta versión se reemplazaron algunos caracteres de control obsoletos, por caracteres gráficos. Además se incorporaron 128 caracteres nuevos, con símbolos, signos, gráficos adicionales y letras latinas, necesarias para la escrituras de textos en otros idiomas, como por ejemplo el español. Así fue como se sumaron los caracteres que van del ASCII 128 al 255. IBM incluyó soporte a esta página de código en el hardware de su modelo 5150, conocido como "IBM-PC", considerada la primera computadora personal. El sistema operativo de este modelo, el "MS-DOS" también utilizaba el código ASCII extendido.

Los caracteres de control ASCII El código ASCII reserva los primeros 32 códigos para caracteres de control: códigos no pensados originalmente para representar información imprimible, sino para controlar dispositivos que usaban ASCII.

3 Fecha: martes 17 de septiembre del 2013

Los códigos del 33 al 126 se conocen como caracteres imprimibles, y representan letras, dígitos, signos de puntuación y varios símbolos. El ASCII de siete bits proporciona siete caracteres "nacionales" . A medida que la tecnología informática se difundió a lo largo del mundo, se desarrollaron diferentes estándares y las empresas desarrollaron muchas variaciones del código ASCII para facilitar la escritura de lenguas diferentes al inglés que usaran alfabetos latinos. Se pueden encontrar algunas de esas variaciones clasificadas como "ASCII Extendido", aunque en ocasiones el término se aplica erróneamente para cubrir todas las variantes, incluso las que no preservan el conjunto de códigos de caracteres original ASCII de siete bits. La ISO 646 (es un estándar internacional para codificación de caracteres, basada en el estándar estadounidense ASCII) hizo el primer intento de remediar el sesgo pro-inglés de la codificación de caracteres, creó problemas de compatibilidad, pues también era un código de caracteres de 7 bits. No especificó códigos adicionales, así que reasignó algunos específicamente para los nuevos lenguajes. De esta forma se volvió imposible saber en qué variante se encontraba codificado el texto, y, consecuentemente, los procesadores de texto podían tratar una sola variante. La tecnología mejoró y aportó medios para representar la información codificada en el octavo bit de cada byte, liberando este bit, lo que añadió otros 128 códigos de carácter adicionales que quedaron disponibles para nuevas asignaciones. Por ejemplo, IBM desarrolló páginas de código de 8 bits, como la página de códigos 437, (La página de códigos 437 es el conjunto de caracteres que incorporaba la primera versión del Personal Computer (PC) de IBM sobre el sistema operativo MS-DOS, en el año 1981.. Es erróneo llamarla ASCII extendido como si fuera la única extensión del ASCII original, cuando en realidad no era sino una más de las muchas variaciones que este adoptó. Los estándares de ocho bits como ISO 8859 y Mac OS Roman fueron desarrollados como verdaderas extensiones de ASCII, dejando los primeros 127 caracteres intactos y añadiendo únicamente valores adicionales por encima de los 7-bits. Esto permitió la representación de un abanico mayor de lenguajes, pero estos estándares continuaron sufriendo incompatibilidades y limitaciones.

Variantes ASCII de ordenadores específicos  ATASCII El conjunto de caracteres ATASCII, de ATARI Standard Code for Information Interchange, o alternativamente ATARI ASCII, es la variación del ASCII que se usa en los microcomputadores de la Familia Atari de 8 bits. Los primeros de esta familia fueron el Atari 400 y el 800. El último de los computadores Atari de 8 bits fue el XEGS (forma

4 Fecha: martes 17 de septiembre del 2013

abreviada de "XL Extended Gaming System" - "Sistema de Juegos XL Expandido") que fuera lanzado en 1989.

Al igual que la mayoría de los ASCII no estándares, el ATASCII tiene su propio grupo de símbolos gráficos especiales (flechas, bloques, círculos, segmentos de línea, conjuntos de símbolos de juegos de cartas, etc.) que corresponden a las ubicaciones de los caracteres de control de la tabla estándar de ASCI

 PETSCII PETSCII (PET Standard Code of Information Interchange), también conocido como CBM ASCII, es la variación del conjunto de caracteres ASCII utilizado en los sobremesa de 8 bit.

En modo “unshifted”, las entradas $60 - $7F y $A0 - $FF están asignadas a caracteres gráfico. Las entradas que van desde $00 - $1f y $80 - $9F contienen caracteres de control, y las posiciones $60 - $7F contienen caracteres repetidos.

ASCII extendido Se denomina ASCII extendido a cualquier juego de caracteres de 8 bits en el cual los códigos 32 a 126 coinciden con los caracteres imprimibles de ASCII, así como los caracteres comúnmente llamados "de espacio", estos son los códigos de control de 8 a 13 (0x08 a 0x0D), ambos inclusive. Las codificaciones de ASCII extendido utilizan además parte o la totalidad de los códigos superiores a 128 para codificar caracteres adicionales a los caracteres imprimibles ASCII.

5 Fecha: martes 17 de septiembre del 2013

Conjunto de caracteres ASCII Extendido del IBM PC y sucesores

Codificaciones "ASCII extendido" más comunes: 





Página de códigos 437 (usual en las versiones en inglés del IBM PC y MS-DOS) Página de códigos 850 (usual en las versiones de Europa occidental del IBM PC y MS-DOS) Latin-1 (ISO-8859-1) (típico de Unix y, con modificaciones, en Microsoft Windows y Macintosh)

6 Fecha: martes 17 de septiembre del 2013

7 Fecha: martes 17 de septiembre del 2013

Código UNICODE Antes de Unicode, había diferentes sistemas de codificación de caracteres para cada idioma, cada uno usando los mismos números (0-255) para representar los caracteres de ese lenguaje. Algunos (como el ruso) tienen varios estándares incompatibles que representan los mismos caracteres; otros idiomas (como el japonés) tienen tantos caracteres que precisan más de un byte. Intercambiar documentos entre estos sistemas era difícil porque no había manera de que un computador supiera con certeza qué esquema de codificación de caracteres había usado el autor del documento; el computador sólo veía números, y los números pueden significar muchas cosas. Para resolver estos problemas se diseñó Unicode.

El proyecto Unicode se inició a finales de 1987, tras conversaciones entre los ingenieros de Apple y Xerox: Joe Becker, Lee Collins y Mark Davis. Como resultado de su colaboración, en agosto de 1988 se publicó el primer borrador de Unicode bajo el nombre de Unicode88. Esta primera versión, con códigos de 16 bits, se publicó asumiendo que solo se codificarían los caracteres necesarios para el uso moderno. Unicode incluye todos los caracteres de uso común en la actualidad. La versión 5.1 contenía 100 713 caracteres provenientes de alfabetos, sistemas ideográficos y colecciones de símbolos (matemáticos, técnicos, musicales, iconos...). La cifra crece con cada versión. Unicode incluye sistemas de escritura modernos como: árabe, braille, copto, cirílico, griego, sinogramas (hanja coreano, hanzi chino y kanji japonés), silabarios japoneses (hiragana y katakana),hebreo y latino; escrituras históricas extintas, para propósitos académicos, como por ejemplo: cuneiforme, griego antiguo, lineal B micénico, fenicio y rúnico. Entre los caracteres no alfabéticos incluidos en Unicode se encuentran símbolos musicales y matemáticos, fichas de juegos como el dominó, flechas, iconos etc. Unicode especifica un nombre e identificador numérico único para cada carácter o símbolo, el code point o punto de código, además de otras informaciones necesarias para su uso correcto. Este estándar es mantenido por el Unicode Technical Committee (UTC), integrado en el Unicode Consortium, del que forman parte con distinto grado de implicación empresas como: Microsoft, Apple, Adobe, IBM, Oracle, SAP, Google o Yahoo. El establecimiento de Unicode ha sido un ambicioso proyecto para reemplazar los esquemas de codificación de caracteres existentes, muchos de los cuales están muy limitados en tamaño y son incompatibles con entornos plurilingües. Unicode se ha vuelto el más extenso y completo esquema de codificación de caracteres, siendo el dominante en la internacionalización y adaptación local del software informático.

8 Fecha: martes 17 de septiembre del 2013

El estándar ha sido implementado en un número considerable de tecnologías recientes, que incluyen XML, Java y sistemas operativos modernos. Como ya se ha indicado, Unicode está sincronizado con el estándar ISO/IEC conocido como UCS o juego de caracteres universal. Desde un punto de vista técnico, incluye o es compatible con codificaciones anteriores como ASCII7 o ISO 8859-1, los estándares nacionales ANSI Z39.64, KS X 1001 y muchos más. Repertorio de caracteres El elemento básico del estándar Unicode es el carácter. Se considera un carácter al elemento más pequeño de un sistema de escritura con significado. El estándar Unicode codifica los caracteres esenciales —grafemas— definiéndolos de forma abstracta y deja la representación visual (tamaño, dimensión, fuente o estilo) al software que lo trate, como procesadores de texto o navegadores web. Se incluyen letras, signos diacríticos, caracteres de puntuación, ideogramas, caracteres silábicos, caracteres de control y otros símbolos. Tipos de caracteres     

Caracteres gráficos: Letras, signos diacríticos, cifras, caracteres de puntuación, símbolos y espacios. Caracteres de formato: Caracteres invisibles que afectan al proceso del texto próximo. Ejemplos: U+2028 salto de línea, U+2029 salto de párrafo,etc. Caracteres privados: Reservados para el uso fuera del estándar por fabricantes de software. Caracteres reservados: Códigos reservados para su uso por Unicode. No-caracteres: Son códigos reservados permanentemente para uso interno por Unicode.

Principios de diseño El estándar fue diseñado con los siguientes objetivos:   

Universalidad: Un repertorio suficientemente amplio que albergue a todos los caracteres probables en el intercambio de texto multilingüe. Eficiencia: Las secuencias generadas deben ser fáciles de tratar. No ambigüedad: Un código dado siempre representa el mismo carácter.

Formas de codificación Los puntos de código de Unicode se identifican por un número entero. Según su arquitectura, un ordenador utilizará unidades de 8, 16 o 32 bits para representar dichos enteros. Las formas de codificación de Unicode reglamentan la forma en que los puntos de código se transformarán en unidades tratables por el computador.

9 Fecha: martes 17 de septiembre del 2013

Unicode define tres formas de codificación bajo el nombre UTF o Formato de Transformación Unicode (Unicode Transformation Format):   

UTF-8 — codificación orientada a byte con símbolos de longitud variable. UTF-16 — codificación de 16 bits de longitud variable optimizada para la representación del plano básico multilingüe (BMP). UTF-32 — codificación de 32 bits de longitud fija, y la más sencilla de las tres.

UTF-8 UTF-8 (8-bit Unicode Transformation Format) es un formato de codificación de caracteres Unicode e ISO 10646 utilizando símbolos de longitud variable. UTF-8 fue creado por Robert C. Pike y Kenneth L. Thompson. Ambos lo implementaron e implantaron en su sistema operativo Plan 9 from Bell Labs. Fue promovido a estándar con el patrocinio de X/Open Joint Internationalization Group (XOJIG) y durante el proceso recibió diferentes nombres como FSS/UTF y UTF2. Estas características lo hacen atractivo en la codificación de correos electrónicos y páginas web. El IETF requiere que todos los protocolos de Internet indiquen qué codificación utilizan para los textos y que UTF-8 sea una de las codificaciones contempladas. El Internet Mail Consortium (IMC) recomienda que todos los programas de correo electrónico sean capaces de crear y mostrar mensajes codificados utilizando UTF-8.

Descripción UTF-8 divide los caracteres Unicode en varios grupos, en función del número de bytes necesarios para codificarlos. El número de bytes depende exclusivamente del código de carácter asignado por Unicode y del número de bytes necesario para representarlo. La distribución de caracteres es la siguiente:  



Caracteres codificados con un byte: Los incluidos en US-ASCII, un total de 128 caracteres. Caracteres codificados con dos bytes: Un total de 1920 caracteres. Este grupo incluye los caracteres romances más signos diacríticos, y los griego, copto, armenio, entre otros. Caracteres codificados con tres bytes: Caracteres del plano básico multilingüe de Unicode, que unido al grupo anterior, incluye la práctica totalidad de caracteres de uso común.

10 Fecha: martes 17 de septiembre del 2013



Caracteres codificados con cuatro bytes: Caracteres del plano suplementario multilingüe. Símbolos matemáticos y alfabetos clásicos para uso principalmente académico.

Ventajas     

UTF-8 permite codificar cualquier carácter Unicode. Es compatible con US-ASCII, la codificación del repertorio de 7 bits es directa. Es posible identificar claramente una muestra de datos como UTF-8 mediante un sencillo algoritmo. UTF-8 ahorrará espacio de almacenamiento para textos en caracteres latinos, donde los caracteres incluidos en US-ASCII son comunes. Una secuencia de bytes para un carácter jamás será parte de una secuencia más larga de otro carácter.

11 Fecha: martes 17 de septiembre del 2013

Desventajas 

UTF-8 utiliza símbolos de longitud variable; eso significa que diferentes caracteres pueden codificarse con distinto número de bytes.



Los caracteres ideográficos usan 3 bytes en UTF-8, pero sólo 2 en UTF-16. Así, los textos chinos, japoneses o coreanos ocupan más espacio cuando se representan en UTF-8.



UTF-8 ofrece peor rendimiento que UTF-16 y UTF-32 en cuanto a coste de computación, por ejemplo en operaciones de ordenación.

UTF-16 UTF-16 que significa en ISO/IEC 10646:2003, “UCS Transformation Format for 16 Planes of Group 00.” es una forma de codificación de caracteres UCS y Unicode utilizando símbolos de longitud variable. Se halla oficialmente definido en el Anexo C de la norma ISO/IEC 10646:2003. También está descrita en el Estándar Unicode (versión 3.0 o superior), al igual que en la RFC 2781 de la IETF. En UTF-16 cada punto de código entre U+0000 y U+FFFF se codifica, sin cambios, utilizando 16 bits. Este rango se corresponde con el plano básico multilingüe de Unicode, por lo que la gran mayoría de los caracteres de uso común se codifican con 16 bits. A la hora de valorar el espacio de almacenamiento requerido por un texto utilizando esta codificación, puede asumirse que los caracteres no incluidos en el plano básico son muy poco frecuentes y por lo tanto cada carácter utilizará 16 bits. Los caracteres de los planos adicionales, se codifican mediante 32 bits. La codificación no se hace de forma directa, es decir, el código final no es el valor del punto de código. UTF16 define un formato de transformación para estos casos denominado pares subrogados. Pares subrogados Si se usan dos palabras para representar códigos por encima de FFFF, se tiene un exceso de bits. Aprovechando esta circunstancia, se diseñó el sistema de pares subrogados para representar caracteres fuera del plano básico. Se define un par subrogado como dos palabras de 16 bits donde: 

La primera palabra de 16 bits se denomina subrogado alto o subrogado inicial en terminología Unicode. Toman valores en el rango [D800,DBFF].

12 Fecha: martes 17 de septiembre del 2013



La segunda palabra de 16 bits se denomina subrogado bajo o subrogado final en terminología Unicode. Toman valores en el rango [DC00,DFFF].  Se cumple el principio de no superposición, los conjuntos valores de subrogados altos, bajos y códigos no subrogados son completamente disjuntos.

Para poder cumplir el principio de no superposición, el conjunto de valores utilizados como pares subrogados ha sido estandarizado y reservado, por lo que no puede ser utilizado para otros fines.

13 Fecha: martes 17 de septiembre del 2013