Google Play badge

ascii


ASCII: Cómo almacenan las computadoras letras y símbolos

La gran idea

Las computadoras usan números. Las personas usamos letras y símbolos. Necesitamos un puente. ASCII es ese puente. ASCII convierte cada letra o símbolo en un número. La computadora almacena el número. Cuando leemos, la computadora muestra la letra nuevamente. Así es como funciona el texto en muchos archivos y aplicaciones.

¿Por qué las computadoras necesitan un código?

Una computadora funciona con electricidad. Detecta dos estados: encendido y apagado. A estos estados los llamamos bits . Un bit es un 0 o un 1. Muchos bits juntos forman números más grandes. Ocho bits forman un byte . Con los bits podemos contar. Contando podemos nombrar cosas. El sistema ASCII utiliza el conteo para nombrar letras y símbolos.

Un bit permite dos opciones. Dos bits permiten cuatro opciones. En matemáticas, esto se representa como \(\;2^n\) . Para \(n=7\) , obtenemos \(2^7 = 128\) opciones. Para \(n=8\) , obtenemos \(2^8 = 256\) opciones. ASCII utiliza 7 bits, lo que da como resultado 128 caracteres con nombre. Posteriormente se crearon conjuntos de 8 bits con 256 caracteres. Estos se denominan ASCII extendido .

Qué significa ASCII

ASCII significa Código Estándar Americano para el Intercambio de Información . Surgió en la década de 1960. Fue creado para las primeras impresoras, teletipos y computadoras. Asigna un número a cada letra, número, espacio y algunos símbolos. También asigna números especiales a acciones como el salto de línea . La primera versión utilizaba 7 bits, por lo que tenía números del 0 al 127.

¿Qué hay dentro de ASCII?
Ejemplos sencillos de mapas

Fíjate en algo interesante. Las letras minúsculas tienen 32 caracteres más que sus mayúsculas correspondientes. Por ejemplo, \(\;97 - 65 = 32\) . Así, 'a' tiene 32 caracteres más que 'A', 'b' tiene 32 caracteres más que 'B', y así sucesivamente. Este patrón facilita algunas tareas informáticas.

caracteres de control en palabras sencillas

Al pulsar la tecla Intro, el ordenador puede enviar LF, CR o ambos, según el sistema. Muchas herramientas de internet utilizan LF. Algunos sistemas antiguos utilizaban CR y LF conjuntamente.

Vistas decimal, binaria y hexadecimal

Podemos escribir números de diferentes maneras. El sistema decimal es la forma habitual de contar, utilizando los dígitos del 0 al 9. El sistema binario utiliza solo el 0 y el 1. El sistema hexadecimal utiliza del 0 al 9 y de la A a la F.

¿Cómo se obtiene el valor binario 65 para la letra 'A'? Observemos los bits en 01000001. El bit más a la izquierda corresponde a 128. Luego están 64, 32, 16, 8, 4, 2 y 1. Solo 64 y 1 están activados. Por lo tanto \(01000001_{(2)} = 0\times128 + 1\times64 + 0\times32 + 0\times16 + 0\times8 + 0\times4 + 0\times2 + 1\times1 = 65\) .

Del teclado a la pantalla

Presiona una tecla. El teclado envía un código al ordenador. El sistema lo convierte en un número de carácter. Para muchas teclas, ese número es el código ASCII. La aplicación almacena el número en memoria. Al mostrar el texto, busca el número y dibuja la letra. Al guardar, los números se guardan en el archivo.

Cómo viaja el texto a través de una red

Piensa en el mensaje « ¡Hola!» . Las letras son H, i y !. Sus números ASCII son 72, 105 y 33. En binario, son 01001000, 01101001 y 00100001. La red envía estos bits. El receptor los lee. Ve los números. Muestra H, i y ! de nuevo. Así es como se transmiten los mensajes de texto simples.

Páginas de códigos y ASCII extendido

La gente quería más símbolos. Querían letras como la é, la ñ y la ø. Querían símbolos monetarios como el €. El conjunto de 7 bits solo tenía 128 símbolos. Así que se usaron 8 bits. Con 8 bits, obtenemos \(2^8 = 256\) símbolos. La mitad superior, del 128 al 255, se usó para letras y símbolos adicionales. Pero había un problema: distintos grupos eligieron números diferentes para esas letras adicionales. Estas elecciones se denominan páginas de códigos .

Debido a que las páginas de códigos difieren, el mismo número puede mostrar un símbolo distinto en otro ordenador. Esta confusión se denomina mojibake y se manifiesta como caracteres extraños. Esta es una de las razones por las que el mundo adoptó Unicode.

ASCII y Unicode

Unicode es un estándar extenso que permite representar muchos idiomas, símbolos matemáticos y emojis. Tiene capacidad para más de un millón de símbolos. Existen diversas formas de almacenar Unicode; una de las más populares es UTF-8 .

¿Cuántos bytes utiliza el texto?

Con texto solo ASCII, cada carácter utiliza un byte. Por lo tanto, la palabra "gato" utiliza 3 bytes. La frase "hola mamá" tiene 6 caracteres, incluyendo el espacio, por lo que utiliza 6 bytes. En términos matemáticos sencillos, \(\textrm{bytes ASCII} = \textrm{número de caracteres}\) .

Orden de clasificación con ASCII

Los ordenadores suelen ordenar las cadenas de caracteres por su número. El orden ASCII agrupa los elementos de una forma determinada.

Esto significa que Zoo precede a apple si comparamos valores ASCII simples. La ordenación se realiza por números, no por la pronunciación de las palabras.

Códigos ASCII comunes que debes conocer

Observe que el símbolo & es &. Su número ASCII es 38. El signo más + es 43. El signo menos - es 45.

Usos reales en la tecnología cotidiana
Patrones ASCII que ayudan
Cómo se pueden crear imágenes con ASCII

Se crean imágenes utilizando únicamente caracteres. Esto se llama arte ASCII . Aquí tenemos una pequeña cara hecha con caracteres ASCII.

:-) Una simple sonrisa
(^_^) Cara amigable
o_O ¡Sorprendido!

Cada cara solo contiene caracteres como dos puntos, guiones y paréntesis. Sin colores ni formas. Solo texto.

Historia en pocas palabras, con palabras sencillas

El ASCII surgió a partir de los teletipos y las primeras computadoras. En 1963, se acordó una primera versión. Permitió la comunicación entre diversas máquinas. Con un código común, una letra como la A representaba el mismo valor numérico en todas partes. Esto simplificó el envío de mensajes y la impresión de texto.

Cuando ASCII no es suficiente

ASCII solo tiene 128 caracteres. Esto no es suficiente para todos los idiomas. No puede mostrar el chino, el hindi, el árabe ni muchos otros alfabetos. Tampoco puede mostrar emojis ni muchos símbolos matemáticos y musicales. Para estos, usamos Unicode. Unicode sí puede mostrar muchos alfabetos y símbolos. UTF-8 es una forma de almacenarlos. La buena noticia es que todo el texto ASCII funciona dentro de UTF-8. Por lo tanto, los sistemas modernos pueden leer fácilmente el ASCII antiguo.

Cómo manejan las aplicaciones ASCII hoy en día

La mayoría de las aplicaciones esperan UTF-8. Sin embargo, cuando un archivo solo contiene letras y símbolos ASCII, se verá igual en UTF-8. A los programadores les resulta conveniente porque simplifica el código. Las páginas web, las API y muchas herramientas utilizan UTF-8, que incluye ASCII sin modificaciones.

Datos sobre números pequeños y matemáticas amigables

ASCII es un conjunto de 7 bits. Esto significa que \(2^7 = 128\) caracteres diferentes. Un conjunto extendido de 8 bits \(2^8 = 256\) elementos. Si tu texto solo contiene caracteres ASCII y tiene \(n\) caracteres, entonces utiliza \(n\) bytes. En un mensaje corto como «OK» , \(n = 2\) Por lo tanto, utiliza 2 bytes al almacenarse como ASCII o UTF-8.

Ver personajes ocultos

Algunos caracteres ASCII realizan acciones pero no se imprimen. El espacio imprime en blanco. Sin embargo, LF y CR mueven el cursor. TAB realiza un salto de línea. Al abrir un archivo en un editor de texto, este puede mostrar LF como \n. Este símbolo no forma parte del ASCII; es la forma en que el editor muestra el salto de línea.

Ejemplos sencillos que parecen reales
Cosas a tener en cuenta
Cómo los dispositivos utilizan ASCII en sencillos pasos

Imagina una etiquetadora que imprime nombres. Lee el nombre como caracteres. Convierte cada carácter en números ASCII. Almacena esos números en memoria. Imprime las letras consultando cómo dibujar cada número. Si encuentra LF (10), pasa a la siguiente línea antes de imprimir más.

Comparación de tres formas de escribir el código de un carácter

Fíjate de nuevo en el carácter '!'. Podemos escribir su código de tres maneras: Decimal: 33; Binario: 00100001; Hexadecimal: 21. En notación matemática, \(\;33_{(10)} = 00100001_{(2)} = 21_{(16)}\) . Cada forma representa el mismo valor. Las aplicaciones seleccionan la forma que necesitan. Las personas suelen leer en decimal, mientras que las computadoras prefieren el binario. El hexadecimal es una forma abreviada de leer números binarios.

¿Por qué ASCII duró tanto?

ASCII es pequeño y claro. Se creó hace tiempo. Muchas herramientas y protocolos se basaron en él. Dado que los primeros 128 códigos Unicode coinciden con ASCII, el sistema sigue funcionando hoy en día. Por eso, si abres archivos de texto muy antiguos en un teléfono o portátil moderno, verás los mismos caracteres.

Breve tutorial: cómo leer un archivo corto

Abre un archivo con el texto «Hello» . Los bytes son los números ASCII 72 101 108 108 111. En binario, son 01001000 01100101 01101100 01101100 01101111. La aplicación lee cada número y dibuja «Hello» en la pantalla. Si el siguiente número es 10, pasa a una nueva línea antes de dibujar más texto. Así de sencillo y preciso es el proceso.

¿Cuándo elegir solo ASCII?
Símbolos clave que la gente suele usar
Comprobación rápida de ideas básicas con números diminutos

Pensemos en el número 10. En binario, es 00001010. En decimal, es diez. En ASCII, 10 es LF, el salto de línea. Esto demuestra cómo un mismo número puede representarse de diferentes maneras. Su significado depende del contexto. Si lo consideramos un código de carácter, entonces 10 significa LF. Si lo representamos como la cantidad de manzanas que hay, entonces son diez manzanas. El contexto es fundamental.

Para resumirlo todo con un ejemplo más.

Enviaremos la palabra «Sun» de un dispositivo a otro. Los códigos son «S» 83, «u» 117, «n» 110. En binario, 83 es 01010011, 117 es 01110101, 110 es 01101110. Los bits viajan como señales de encendido y apagado. El otro dispositivo convierte los bits en números. Luego, convierte los números en letras. Muestra la palabra «Sun» . Si el siguiente código es 32, es un espacio. Si el siguiente es 33, es un signo de exclamación (!). Las reglas se mantienen siempre. Esa es la ventaja de un código compartido.

Download Primer to continue