Codificación de caracteres en código C ++

Todo en el ordenador está representado por un patrón de unos y ceros - variaciones en el voltaje que se interpretan como números. Así, el patrón de bits 0.000 0 001 es el número 1 cuando se interpreta como un entero. Sin embargo, este mismo patrón de bits significa algo completamente diferente cuando interpreta como una instrucción por el procesador.

Por lo tanto, no debería ser una sorpresa que el equipo codifica los caracteres del alfabeto asignando a cada uno un número.

Considere el carácter 'A'. Usted podría asignarle cualquier valor que desee, siempre y cuando todos estamos de acuerdo en el valor. Por ejemplo, podría asignar un valor de 1 a 'A', si querías. Lógicamente, es posible que luego asignar el valor 2 a 'B', 3 a 'C', y así sucesivamente.

En este esquema, 'Z' obtendría el valor 26. Usted podría entonces empezar de nuevo asignando el valor 27 a 'a', 28 a 'b', hasta el 52 de 'z'. Esto aún deja el dígito '0' al '9' además de todos los símbolos especiales, como espacio, punto, coma, raya vertical, punto y coma, y ​​los divertidos personajes que se ven al pulsar las teclas numéricas mientras mantiene Shift.

Añadir a que los caracteres no imprimibles como ficha y nueva línea. Cuando todo está dicho y hecho, usted podría codificar todo el teclado Inglés usando números entre 1 y 127.

En algún momento alrededor de 1963, hubo un acuerdo general sobre cómo los personajes deben ser codificados en Inglés. El ASCII (American Standard Codificación para el Intercambio de Información) codificación de caracteres se muestra en la fue adoptado casi universalmente a excepción de una empresa.

IBM publicó su propio estándar en 1963 también. Los dos estándares de codificación pelearon a cabo por cerca de diez años, pero a principios de los años 1970 - cuando se están creando C y C ++ - ASCII habían casi ganado la batalla. los Char tipo fue creado con la codificación de caracteres ASCII en mente.

El conjunto de caracteres ASCII
ValorCharValorChar
0NULO64@
1Inicio del Rubrosesenta y cincoLA
2Inicio del texto66B
3Fin del texto67C
4Fin de Transmisión68D
5Consulta69E
6Reconocer70F
7Campanilla71G
8Retroceso72H
9Tab73yo
10Nueva línea74J
11Tab Vertical75K
12Nueva Página- Alim.forzd76L
13Retorno de carro77M
14Shift Sale78N
15Cambio en79O
16De enlace de datos de Escape80P
17Control de dispositivos 181Q
18Control de dispositivos 282R
19Control de dispositivos 383S
20Control de dispositivos 484T
21Reconocer Negativo85U
22Idle síncrono86V
23Fin de Transmisión87W
24Cancelar88X
25Fin de Medium89Y
26Sustituto90Z
27Escapar91[
28Separador de archivos92
29Grupo Separador93]
30Grabar Separador94^
31Unidad separadora95_
32Espacio96`
33!97la
34"98b
35#99c
36$100d
37%101e
38102F
39'103g
40(104h
41)105yo
42*106j
43+107k
44,108l
45=109m
46.110n
47/111o
480112p
491113q
502114r
513115s
524116t
535117u
546118v
557119w
568120X
579121y
58:122z
59-123
61=125
62>126~
63?127DEL

Lo primero que notarás es que los primeros 32 caracteres son los " no imprimible " caracteres. Eso no quiere decir que estos personajes son tan travieso que el censor no les permitirá ser impresos - que significa que no aparecen como símbolos visibles cuando se imprime en la impresora (o en la consola, para el caso). Muchos de estos personajes ya no se utilizan o utilizaron sólo en formas oscuras.

Por ejemplo, el carácter 25 " Fin de Medio " Probablemente fue impreso como el último carácter antes del final de un carrete de cinta magnética. Eso fue una gran cosa en 1963, pero hoy en día. . . no tanto, por lo que el uso del personaje es limitado.

Los personajes que empiezan por 32 son todos imprimible con la excepción de la última, 127, que es el carácter Eliminar.




» » » » Codificación de caracteres en código C ++