Instituto Tecnolgico de Hermosillo
Electrnica Analgica
Cdigo ASCII y Cdigo UNICODE
lvarez lvarez Daniel Esteban
26 de Febrero del 2013
Cdigo ASCII
El cdigo ASCII (acrnimo ingls de American Standard Code for Information Interchange (Cdigo Estadounidense Estndar para el Intercambio de Informacin), pronunciado generalmente (ski), es un cdigo de caracteres basado en el alfabeto latino tal como se usa en ingls moderno y en otras lenguas occidentales. La memoria de un ordenador guarda toda la informacin en formato digital. No hay forma de almacenar caracteres directamente. Cada uno de los caracteres tiene un cdigo digital equivalente. Esto se denomina cdigo ASCII (American Standard Code for Information Interchange). Esto se encuentra directamente relacionado con la codificacin ACE de un dominio. La codificacin ACE (del ingls ASCII Compatible Encoding, Codificacin ASCII Compatible) es el mecanismo que permite incorporar caracteres internacionalizados en aplicaciones diseadas para trabajar solamente con caracteres ASCII. Se encuentra descrita por el RFC3490. El principal uso de la codificacin ACE es incorporar dominios con caracteres internacionales en el DNS. Las computadoras solamente entienden nmeros. El cdigo ASCII es una representacin numrica de un carcter como a o @. Como otros cdigos de formato de representacin de caracteres, el ASCII es un mtodo para una correspondencia entre cadenas de bits y una serie de smbolos, permitiendo de esta forma la comunicacin entre dispositivos digitales as como su procesado y almacenamiento. El cdigo de caracteres ASCII o una extensin compatible se usa casi en todos los ordenadores, especialmente con ordenadores personales y estaciones de trabajo. El nombre ms apropiado para este cdigo de caracteres es US-ASCII. Fue creado en 1963 por el Comit Estadounidense de Estndares o ASA, este organismo cambio su nombre en 1969 por "Instituto Estadounidense de Estndares Nacionales" o "ANSI" como se lo conoce desde entonces. Este cdigo naci a partir de reordenar y expandir el conjunto de smbolos y caracteres ya utilizados en aquel momento en telegrafa por la compaa Bell. En un primer momento solo inclua letras maysculas y nmeros, pero en 1967 se agregaron las letras minsculas 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 estndar, conteniendo todos lo necesario para escribir en idioma ingles. En 1981, la empresa IBM desarroll una extensin de 8 bits del cdigo ASCII, llamada "pgina de cdigo 437", en esta versin se reemplazaron algunos caracteres de control obsoletos, por caracteres grficos. Adems se incorporaron 128 caracteres nuevos, con smbolos, signos, grficos adicionales y letras latinas, necesarias para la escrituras de textos en otros idiomas, como por ejemplo el espaol. As fue como se sumaron los caracteres que van del ASCII 128 al 255. IBM incluy soporte a esta pgina de cdigo 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" tambin utilizaba el cdigo ASCII extendido. Casi todos los sistemas informticos de la actualidad utilizan el cdigo ASCII para representar caracteres y textos. Los cdigos de 0 al 31 no se utilizan para caracteres. stos se denominan caracteres de control ya que se utilizan para acciones como: o Retorno de carro (CR) o Timbre (BEL) Los cdigos 65 al 90 representan las letras maysculas. Los cdigos 97 al 122 representan las letras minsculas
Debemos desmitificar a distintos conocimientos que se han difundido en forma errnea, a saberse: El cdigo ASCII no representa al conjunto de caracteres a los que se accede pulsando la tecla ALT junto a una combinacin numrica especfica Existen otros cdigos de caracteres que utilizan la base de transmisin de datos mediante 8 Bits, pero no estn comprendidos por el estndar ASCII Se realiza una conversin mediante algoritmos llamados ToASCII y ToUnicode, por el cual se aplican los algoritmos a las etiquetas del nombre de dominio que contengan caracteres no-ASCII. Por ejemplo, la versin ACE para ee.es es xn--ee-zja.es y es esta ltima la que permite utilizar ee.es en el sistema DNS. A medida que la tecnologa informtica se difundi a lo largo del mundo, se desarrollaron diferentes estndares y las empresas desarrollaron muchas variaciones del cdigo ASCII para facilitar la escritura de lenguas diferentes al
ingls que usaran alfabetos latinos. Se pueden encontrar algunas de esas variaciones clasificadas como "ASCII Extendido", aunque en ocasiones el trmino se aplica errneamente para cubrir todas las variantes, incluso las que no preservan el conjunto de cdigos de caracteres original ASCII de siete bits. La ISO 646 en 1972, el primer intento de remediar el sesgo pro-ingls de la codificacin de caracteres, cre problemas de compatibilidad, pues tambin era un cdigo de caracteres de 7 bits. No especific cdigos adicionales, as que reasign algunos especficamente 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 podan tratar una sola variante. La tecnologa mejor y aport medios para representar la informacin codificada en el octavo bit de cada byte, liberando este bit, lo que aadi otros 128 cdigos de carcter adicionales que quedaron disponibles para nuevas asignaciones. Por ejemplo, IBM desarroll pginas de cdigo de 8 bits, como la pgina de cdigos 437, que reemplazaba los caracteres de control con smbolos grficos como sonrisas, y asign otros caracteres grficos adicionales a los 128 bytes superiores de la pgina de cdigos. Algunos sistemas operativos como DOS, podan trabajar con esas pginas de cdigo, y los fabricantes de ordenadores personales incluyeron soporte para dichas pginas en su hardware. Los estndares de ocho bits como ISO 8859 y Mac OS Romn fueron desarrollados como verdaderas extensiones de ASCII, dejando los primeros 127 caracteres intactos y aadiendo nicamente valores adicionales por encima de los 7-bits. Esto permiti la representacin de un abanico mayor de lenguajes, pero estos estndares continuaron sufriendo incompatibilidades y limitaciones. Todava hoy, ISO-8859-1 y su variante Windows-1252 y el cdigo ASCII original de 7 bits son los cdigos de carcter ms comnmente utilizados. Unicode y Conjunto de Caracteres Universal (UCS) ISO/IEC 10646 definen un conjunto de caracteres mucho mayor, y sus diferentes formas de codificacin han empezado a reemplazar ISO 8859 y ASCII rpidamente en muchos entornos. Mientras que ASCII bsicamente usa cdigos de 7-bits, Unicode y UCS usan "codepoints" o apuntadores relativamente abstractos: nmeros positivos (incluyendo el cero) que asignan secuencias de 8 o ms bits a caracteres. Para permitir la compatibilidad, Unicode y UCS asignan los primeros 128 apuntadores a los mismos caracteres que el cdigo ASCII. De esta forma se puede pensar en ASCII como un subconjunto muy pequeo de Unicode y UCS. La popular codificacin UTF-8 recomienda el uso de uno a cuatro valores de 8 bits para cada apuntador, donde los primeros 128 valores apuntan a los mismos caracteres que ASCII. Otras codificaciones de caracteres como UTF-16 se parece a ASCII en cmo representan los primeros 128 caracteres de Unicode, pero tienden a usar 16 a 32 bits por carcter, as que requieren de una conversin adecuada para que haya compatibilidad entre ambos cdigos de carcter.
La palabra ASCII btico (o, ms habitualmente, la palabra "inglesa" ASCII betical) describe la ordenacin segn el orden de los cdigos ASCII en lugar del orden alfabtico. La abreviatura ASCIIZ o ASCIZ se refiere a una cadena de caracteres terminada en cero. Es muy normal que el cdigo ASCII sea embebido en otros sistemas de codificacin ms sofisticados y por esto debe tenerse claro cul es papel del cdigo ASCII en la tabla o mapa de caracteres de un ordenador.
Formato de caracteres estndares
ASCII 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Hex 0 1 2 3 4 5 6 7 8 9 A B C D E F Smbolo NUL SOH STX ETX EOT ENQ ACK BEL BS TAB LF VT FF CR SO SI ASCII Hex Smbolo 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US ASCII Hex Smbolo ASCII Hex Smbolo 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 20 (Espacio) 21 ! 22 " 23 # 24 $ 25 % 26 & 27 ' 28 ( 29 ) 2A * 2B + 2C , 2D 2E . 2F / 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
ASCII Hex Smbolo 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F @ A B C D E F G H I J K L M N O
ASCII Hex Smbolo 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F P Q R S T U V W X Y Z [ \ ] ^ _
ASCII Hex Smbolo ASCII Hex Smbolo 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F ` a b c d e f g h i j k l m n o 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F p q r s t u v w x y z { | } ~
Cdigo UNICODE
Existen numerosos sistemas de codificacin que asignan un nmero a cada carcter (letras, nmeros, signos, etc.). Ninguna codificacin (el cdigo ASCII es un ejemplo elocuente) especfica puede contener caracteres suficientes. Por ejemplo, la Unin Europea, por s sola, necesita varios sistemas de codificacin distintos para cubrir todos sus idiomas. Tambin presentan problemas de incompatibilidad entre los diferentes sistemas de codificacin. Por esta razn se cre Unicode. El consorcio Unicode, es una organizacin sin nimo de lucro que se cre para desarrollar, difundir y promover el uso de la norma Unicode que especifica la representacin del texto en productos y estndares de software modernos. El consorcio est integrado por una amplia gama de corporaciones y organizaciones de la industria de la computacin y del procesamiento de la informacin (empresas tales como Apple, HP, IBN, Sun, Oracle, Microsoft o estndares modernos tales como XML, Java, CORBA, etc.). Formalmente, el estndar Unicode est definido en la ltima versin impresa del libro The Unicode Standard que edita el consorcio y que tambin se puede bajar de su sitio Web. Unicode incluye todos los caracteres de uso comn en la actualidad. La versin 5.1 contena 100 713 caracteres provenientes de alfabetos, sistemas ideogrficos y colecciones de smbolos (matemticos, tcnicos, musicales, iconos, etc.). La cifra crece en cada versin. Unicode incluye sistemas de escritura modernos como: rabe, Braille, Copto, Cirlico, Griego, Han (Kanji, Hanja y Hanzi), Japons (Kanji, Hiragana y Katakana), Hebreo y Latino. Escrituras histricas extintas para propsitos acadmicos, como por ejemplo: Cuneiforme, Griego antiguo, Lineal B micnico, Fenicio y Rnico. Entre los caracteres que no forman parte de alfabetos se encuentran smbolos musicales y matemticos, fichas de juegos como el domin, flechas, iconos, etc. Adems Unicode dispone de versiones predefinidas de la mayora de combinaciones de letras y smbolos diacrticos en uso en la actualidad y define mecanismos de combinacin de caracteres como forma de extensin. Unicode es un estndar en constante evolucin y se agregan nuevas escrituras y smbolos continuamente. Se han descartado otros alfabetos propuestos por distintas razones como por ejemplo el alfabeto Klingon. Unicode est llamado a reemplazar al cdigo ASCII y algunos de los restantes ms populares como Latin, en unos pocos aos y a todos los niveles. Permite no slo manejar texto en prcticamente cualquier lenguaje utilizado en el planeta, sino que tambin proporciona un conjunto completo y comprensible de smbolos matemticos y tcnicos que simplificar el intercambio de informacin cientfica.
El cdigo sigue evolucionando y dada la masiva cantidad de informacin que incluye el mejor consejo es visitar estas pginas u otras similares, y si ya se ha convertido en un experto programador y necesita el cdigo a efectos profesionales, le recomendamos se descargue de la Red todo el cdigo completo o adquiera en su defecto el libro que le indicamos a continuacin que contiene toda la informacin oficial de Unicode. Antes de Unicode, haba diferentes sistemas de codificacin de caracteres para cada idioma, cada uno usando los mismos nmeros (0-255) para representar los caracteres de ese lenguaje. Algunos tienen varios estndares incompatibles que representan los mismos caracteres; otros idiomas (como el japons) tienen tantos caracteres que precisan ms de un byte. Intercambiar documentos entre estos sistemas era difcil porque no haba manera de que un computador supiera con certeza qu esquema de codificacin de caracteres haba usado el autor del documento; el computador slo vea nmeros, y los nmeros 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 colaboracin, en agosto de 1988 se public el primer borrador de Unicode bajo el nombre de Unicode88. Esta primera versin, con cdigos de 16 bits, se public asumiendo que solo se codificaran los caracteres necesarios para el uso moderno.
Durante el ao 1989 el trabajo continu con la adicin de colaboradores de otras compaas como Microsoft o Sun Microsystems. El Consorcio Unicode se form el 3 de febrero de 1991 y en octubre de 1991 se public la primera versin del estndar. La segunda versin, incluyendo escritura ideogrfica Han se public en junio de 1992.
Ä ; ä ↑ &spade s; ß &poun d; ◊
▲ ◄ ▣ ▦ ▩ ◊ ☺ Ä ä ß £ ₪ ♠ ♧ &diams ♦ ; ⌂ ☏ ☞ ♫ † ↑ ↔ ↗
→ ♥ ö ü € ¥
↔
` 58; ` 32; ` 36; ` 39; ` 42; ` 75; a 87;  6;  2; S 64;  5; a 92; b 28; b 29; a 33; T 70; b 32; b 33; b 36; R 25; U 94; U 97; V 00;
← ↓ ♣ Ö Ü ¢ ¤
▼ □ ▥ ▨ ▫ ● ☼ Ö Ü ¢ ¤ ♂ ♣ ♡ ☆ ☎ ☜ ♪ ♭ ← ↓ ↖ ↙
< < » ; ™ @ +
  < » ™ @
" >
" > © ¿ §
+ &plusm ± n; &frac1 ¼ 4; ⅓ % ² ⅜ % ²
× ½
³
" >  9;  1;  7; -  5;  9; U 32; U 41; R 40;  9;
&
& « ® ¡ ÷
& « ® ¡ ÷ Ω √
¾
¾ ⅛ ⅞
¹
¹