tabla sirve que para palomita numeral historia funciona como codigos codigo binario char ascii

char - sirve - que es el codigo ascii yahoo



¿Hay alguna lógica detrás del pedido de códigos ASCII? (7)

Estaba enseñando C a mi hermano menor que estudiaba ingeniería. Le estaba explicando cómo diferentes tipos de datos se almacenan realmente en la memoria. Le expliqué la logística detrás de tener números firmados / no firmados y un bit flotante en números decimales. Mientras le contaba sobre el tipo de letra C en C, también lo llevé a través del sistema de código ASCII y también cómo el char también se almacena como un número de 1 byte.

Me preguntó por qué ''A'' recibió el código ASCII 65 y no otra cosa. De manera similar, ¿por qué ''a'' recibe el código 97 específicamente? ¿Por qué hay una brecha de 6 códigos Ascii entre el rango de mayúsculas y minúsculas? No tenía idea de esto. ¿Puede ayudarme a entender esto, ya que esto me ha creado una gran curiosidad también? Nunca he encontrado ningún libro que haya discutido este tema.

Cuál es la razón detrás de esto ? ¿Los códigos ASCII están organizados lógicamente?


Aquí hay una historia muy detallada y una descripción de los códigos ASCII: http://en.wikipedia.org/wiki/ASCII
En breve:

  • ASCII se basa en estándares de codificación de teletipo
  • los primeros 30 caracteres son "no imprimibles": se usan para formatear texto
  • luego continúan con caracteres imprimibles, más o menos para colocarlos en el teclado. Verifica tu teclado:
    • espacio,
    • Signo de mayúsculas en los casquillos de números:!, ", #, ...,
    • números
    • signos generalmente colocados al final de la fila del teclado con números - mayúsculas
    • mayúsculas, alfabéticamente
    • signos generalmente colocados al final de las filas del teclado con letras - mayúsculas
    • letras minúsculas, alfabéticamente
    • signos generalmente colocados al final de las filas del teclado con letras - minúsculas

Este cuadro lo muestra bastante bien en wikipedia: Observe las dos columnas de control 2 de las 2 superiores de las inferiores, y luego las brechas rellenas con misc.

También tenga en cuenta que ASCII se desarrolló en base a lo que había pasado antes. Para obtener más detalles sobre la historia de ASCII, consulte este magnífico artículo de Tom Jennings , que también incluye el significado y el uso de algunos de los personajes de control más extraños.


Hay razones históricas, principalmente para hacer que los códigos ASCII sean fáciles de convertir:

Los dígitos (0x30 a 0x39) tienen el prefijo binario 110000:

0 is 110000 1 is 110001 2 is 110010

etc. Entonces, si eliminas el prefijo (los primeros dos ''1''), terminas con el dígito en decimal codificado en binario.

Las letras mayúsculas tienen el prefijo binario 1000000:

A is 1000001 B is 1000010 C is 1000011

etc. Lo mismo, si elimina el prefijo (el primer ''1''), termina con caracteres indexados por alfabeto (A es 1, Z es 26, etc.).

Las letras minúsculas tienen el prefijo binario 1100000:

a is 1100001 b is 1100010 c is 1100011

etc. Lo mismo que arriba. Entonces, si agrega 32 (100000) a una letra mayúscula, tiene la versión en minúscula.


La distancia entre A y a es 32. Ese es un número bastante redondo, ¿no?

La brecha de 6 caracteres entre mayúsculas y minúsculas es porque (32 - 26) = 6. (Nota: hay 26 letras en el alfabeto inglés).


Si miras las representaciones binarias para ''a'' y ''A'', verás que solo difieren en 1 bit, lo que es bastante útil (convertir mayúsculas a minúsculas o viceversa es solo cuestión de voltear un poco). ¿Por qué empezar allí específicamente? No tengo idea.


http://en.wikipedia.org/wiki/ASCII :

El código en sí estaba estructurado de manera que la mayoría de los códigos de control estaban juntos, y todos los códigos gráficos estaban juntos. Las dos primeras columnas (32 posiciones) se reservaron para los personajes de control. [14] El carácter "espacio" tenía que aparecer antes de los gráficos para facilitar la clasificación de los algoritmos, por lo que se convirtió en la posición 0x20. [15] El comité decidió que era importante admitir alfabetos de 64 caracteres en mayúsculas y eligió estructurar ASCII para que se pudiera reducir fácilmente a un conjunto de códigos gráficos de 64 caracteres utilizables. [16] Las letras minúsculas no se intercalaron con mayúsculas. Para mantener abiertas las opciones de letras minúsculas y otros gráficos, los códigos especiales y numéricos se colocaron antes de las letras, y la letra "A" se colocó en la posición 0x41 para coincidir con el borrador del estándar británico correspondiente. [17] Los dígitos 0-9 se colocaron de modo que corresponden a valores en binario con el prefijo 011, lo que hace que la conversión con decimal codificado en binario sea sencilla.


  • ''A'' es 0x41 en hexadecimal.
  • ''a'' es 0x61 en hexadecimal.
  • ''0'' a ''9'' es 0x30 - 0x39 en hexadecimal.

Entonces, al menos, es fácil recordar los números para A , a y 0-9 . No tengo idea sobre los símbolos. Ver el artículo de Wikipedia sobre pedidos ASCII .