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.
Valor | Char | Valor | Char |
---|---|---|---|
0 | NULO | 64 | @ |
1 | Inicio del Rubro | sesenta y cinco | LA |
2 | Inicio del texto | 66 | B |
3 | Fin del texto | 67 | C |
4 | Fin de Transmisión | 68 | D |
5 | Consulta | 69 | E |
6 | Reconocer | 70 | F |
7 | Campanilla | 71 | G |
8 | Retroceso | 72 | H |
9 | Tab | 73 | yo |
10 | Nueva línea | 74 | J |
11 | Tab Vertical | 75 | K |
12 | Nueva Página- Alim.forzd | 76 | L |
13 | Retorno de carro | 77 | M |
14 | Shift Sale | 78 | N |
15 | Cambio en | 79 | O |
16 | De enlace de datos de Escape | 80 | P |
17 | Control de dispositivos 1 | 81 | Q |
18 | Control de dispositivos 2 | 82 | R |
19 | Control de dispositivos 3 | 83 | S |
20 | Control de dispositivos 4 | 84 | T |
21 | Reconocer Negativo | 85 | U |
22 | Idle síncrono | 86 | V |
23 | Fin de Transmisión | 87 | W |
24 | Cancelar | 88 | X |
25 | Fin de Medium | 89 | Y |
26 | Sustituto | 90 | Z |
27 | Escapar | 91 | [ |
28 | Separador de archivos | 92 | |
29 | Grupo Separador | 93 | ] |
30 | Grabar Separador | 94 | ^ |
31 | Unidad separadora | 95 | _ |
32 | Espacio | 96 | ` |
33 | ! | 97 | la |
34 | " | 98 | b |
35 | # | 99 | c |
36 | $ | 100 | d |
37 | % | 101 | e |
38 | 102 | F | |
39 | ' | 103 | g |
40 | ( | 104 | h |
41 | ) | 105 | yo |
42 | * | 106 | j |
43 | + | 107 | k |
44 | , | 108 | l |
45 | = | 109 | m |
46 | . | 110 | n |
47 | / | 111 | o |
48 | 0 | 112 | p |
49 | 1 | 113 | q |
50 | 2 | 114 | r |
51 | 3 | 115 | s |
52 | 4 | 116 | t |
53 | 5 | 117 | u |
54 | 6 | 118 | v |
55 | 7 | 119 | w |
56 | 8 | 120 | X |
57 | 9 | 121 | y |
58 | : | 122 | z |
59 | - | 123 | |
61 | = | 125 | |
62 | > | 126 | ~ |
63 | ? | 127 | DEL |
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.