¿Qué carácter tiene el código 100 en la codificación? Codificación ASCII (código estándar americano para el intercambio de información): codificación de texto básica para el alfabeto latino
Como sabes, una computadora almacena información en forma binaria, representándola como una secuencia de unos y ceros. Para traducir la información a una forma conveniente para la percepción humana, cada secuencia única de números se reemplaza por su símbolo correspondiente cuando se muestra.
Uno de los sistemas para correlacionar códigos binarios con caracteres impresos y de control es
En el nivel actual de desarrollo de la tecnología informática, no es necesario que el usuario conozca el código de cada carácter específico. Sin embargo, una comprensión general de cómo se lleva a cabo la codificación es extremadamente útil y, para algunas categorías de especialistas, incluso necesaria.
Creando ASCII
La codificación se desarrolló originalmente en 1963 y luego se actualizó dos veces a lo largo de 25 años.
En la versión original, la tabla de caracteres ASCII incluía 128 caracteres; luego apareció una versión extendida, donde se guardaron los primeros 128 caracteres y los caracteres que antes faltaban se asignaron a códigos con el octavo bit involucrado.
Durante muchos años, esta codificación fue la más popular del mundo. En 2006, Latin 1252 tomó la posición de liderazgo y, desde finales de 2007 hasta la actualidad, Unicode ha mantenido firmemente la posición de liderazgo.
Representación informática de ASCII
Cada carácter ASCII tiene su propio código, que consta de 8 caracteres que representan un cero o un uno. El número mínimo en esta representación es cero (ocho ceros en el sistema binario), que es el código del primer elemento de la tabla.
Se reservaron dos códigos de la tabla para cambiar entre el estándar US-ASCII y su variante nacional.
Después de que ASCII comenzó a incluir no 128, sino 256 caracteres, se generalizó una variante de codificación, en la que la versión original de la tabla se almacenaba en los primeros 128 códigos con el octavo bit cero. Los caracteres escritos nacionales se almacenaron en la mitad superior de la tabla (posiciones 128-255).
El usuario no necesita conocer directamente los códigos de caracteres ASCII. Por lo general, un desarrollador de software solo necesita saber el número de elemento en la tabla para calcular su código usando el sistema binario si es necesario.
idioma ruso
Después del desarrollo de codificaciones para las lenguas escandinavas, chino, coreano, griego, etc. a principios de los años 70, la Unión Soviética comenzó a crear su propia versión. Pronto, se desarrolló una versión de una codificación de 8 bits llamada KOI8, conservando los primeros 128 códigos de caracteres ASCII y asignando el mismo número de posiciones para las letras del alfabeto nacional y caracteres adicionales.
Antes de la introducción de Unicode, KOI8 dominaba el segmento ruso de Internet. Había opciones de codificación tanto para el alfabeto ruso como para el ucraniano.
problemas ASCII
Dado que el número de elementos incluso en la tabla extendida no excedía los 256, no era posible acomodar varios scripts diferentes en una codificación. En los años 90, apareció en Runet el problema "crocozyabr", cuando los textos escritos en caracteres rusos ASCII se mostraban incorrectamente.
El problema era que los distintos códigos ASCII no coincidían entre sí. Recordemos que en las posiciones 128-255 se podían ubicar varios caracteres, y al cambiar una codificación cirílica a otra, todas las letras del texto se reemplazaban por otras que tenían el mismo número en una versión diferente de la codificación.
Estado actual
Con la llegada de Unicode, la popularidad de ASCII comenzó a declinar drásticamente.
La razón de esto radica en el hecho de que la nueva codificación hizo posible acomodar caracteres de casi todos los idiomas escritos. En este caso, los primeros 128 caracteres ASCII corresponden a los mismos caracteres en Unicode.
En 2000, ASCII era la codificación más popular en Internet y se utilizaba en el 60% de las páginas web indexadas por Google. En 2012, la proporción de páginas de este tipo había caído al 17% y Unicode (UTF-8) ocupó el lugar de la codificación más popular.
Por tanto, ASCII es una parte importante de la historia de la tecnología de la información, pero su uso en el futuro parece poco prometedor.
Superposición de personajes
El carácter BS (retroceso) permite a la impresora imprimir un carácter encima de otro. ASCII permitía agregar signos diacríticos a las letras de esta manera, por ejemplo:
- a BS "→á
- a BS ` → à
- una BS ^ → â
- o BS / → ø
- c BS , → ç
- norte BS ~ → с
Nota: en fuentes antiguas, el apóstrofe " se dibujaba inclinado hacia la izquierda y la tilde ~ se desplazaba hacia arriba, por lo que encajaban en el papel de un agudo y una tilde en la parte superior.
Si se superpone el mismo carácter a un carácter, el resultado es un efecto de fuente en negrita, y si se superpone un subrayado a un carácter, el resultado es un texto subrayado.
- una licenciatura en → a
- abs_→ a
Nota: Esto se utiliza, por ejemplo, en el sistema de ayuda del hombre.
Variantes nacionales de ASCII
La norma ISO 646 (ECMA-6) prevé la posibilidad de colocar símbolos nacionales @ [ \ ] ^ ` { | } ~ . Además de esto, en el sitio # se puede publicar £ , y en su lugar $ - ¤ . Este sistema es muy adecuado para idiomas europeos donde sólo se necesitan unos pocos caracteres adicionales. La versión de ASCII sin caracteres nacionales se llama US-ASCII o "Versión de referencia internacional".
Posteriormente, resultó más conveniente utilizar codificaciones de 8 bits (páginas de códigos), donde la mitad inferior de la tabla de códigos (0-127) está ocupada por caracteres US-ASCII y la mitad superior (128-255) por personajes adicionales, incluido un conjunto de personajes nacionales. Por lo tanto, la mitad superior de la tabla ASCII, antes de la adopción generalizada de Unicode, se usaba activamente para representar caracteres localizados, letras del idioma local. La falta de un estándar unificado para colocar caracteres cirílicos en la tabla ASCII causó muchos problemas con las codificaciones (KOI-8, Windows-1251 y otras). Otros idiomas con escrituras no latinas también sufrían de tener varias codificaciones diferentes.
.0 | .1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .A | .B | .DO | .D | .MI | .F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0. | NUL | SOM | AEO | MOE | EQT | WRU | RU | CAMPANA | BKSP | HT | LF | Vermont | FF | CR | ENTONCES | SI. |
1. | CD 0 | CC 1 | CC 2 | CC 3 | CC 4 | ERRAR | SINCRONIZACIÓN | L.E.M. | S 0 | S 1 | T 2 | S 3 | S 4 | T 5 | T 6 | T 7 |
2. | ||||||||||||||||
3. | ||||||||||||||||
4. | BLANCO | ! | " | # | $ | % | & | " | ( | ) | * | + | , | - | . | / |
5. | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? |
6. | ||||||||||||||||
7. | ||||||||||||||||
8. | ||||||||||||||||
9. | ||||||||||||||||
A. | @ | A | B | do | D | mi | F | GRAMO | h | I | j | k | l | METRO | norte | oh |
B. | PAG | q | R | S | t | Ud. | V | W. | incógnita | Y | z | [ | \ | ] | ← | |
DO. | ||||||||||||||||
D. | ||||||||||||||||
MI. | a | b | do | d | mi | F | gramo | h | i | j | k | yo | metro | norte | oh | |
F. | pag | q | r | s | t | tu | v | w | incógnita | y | z | ESC | DEL |
En aquellas computadoras donde la unidad mínima de memoria direccionable era una palabra de 36 bits, inicialmente se utilizaron caracteres de 6 bits (1 palabra = 6 caracteres). Después de la transición a ASCII, dichas computadoras comenzaron a contener 5 caracteres de siete bits (quedaba 1 bit extra) o 4 caracteres de nueve bits en una palabra.
Los códigos ASCII también se utilizan para determinar qué tecla se presiona durante la programación. Para un teclado QWERTY estándar, la tabla de códigos tiene este aspecto:
El conjunto de caracteres con los que se escribe el texto se llama alfabeto. El número de caracteres del alfabeto es su fuerza. Fórmula para determinar la cantidad de información: norte=2b, donde N es la potencia del alfabeto (número de caracteres), b – número de bits (peso de información del símbolo). El alfabeto con una capacidad de 256 caracteres puede contener casi todos los caracteres necesarios. Este alfabeto se llama suficiente. Porque 256 = 2 8, entonces el peso de 1 carácter es de 8 bits. La unidad de medida de 8 bits recibió el nombre 1 byte: 1 byte = 8 bits. El código binario de cada carácter del texto de la computadora ocupa 1 byte de memoria. ¿Cómo se representa la información textual en la memoria de la computadora?La conveniencia de la codificación de caracteres byte a byte es obvia porque un byte es la parte más pequeña de la memoria direccionable y, por lo tanto, el procesador puede acceder a cada carácter por separado cuando procesa texto. Por otro lado, 256 caracteres es un número suficiente para representar una amplia variedad de información simbólica. Ahora surge la pregunta: qué código binario de ocho bits asignar a cada carácter.Está claro que se trata de una cuestión condicional; se pueden idear muchos métodos de codificación. Todos los caracteres del alfabeto informático están numerados del 0 al 255. Cada número corresponde a un código binario de ocho bits del 00000000 al 11111111. Este código es simplemente el número de serie del carácter en el sistema numérico binario. Una tabla en la que a todos los caracteres del alfabeto informático se les asignan números de serie se denomina tabla de codificación.Los diferentes tipos de computadoras utilizan diferentes tablas de codificación. La mesa se ha convertido en el estándar internacional para PC. ASCII(leer preguntar) (Código estándar americano para el intercambio de información). La tabla de códigos ASCII se divide en dos partes. Sólo la primera mitad de la tabla es la norma internacional, es decir. símbolos con números de 0 (00000000), hasta 127 (01111111). Estructura de la tabla de codificación ASCII
Primera mitad de la tabla de códigos ASCIITenga en cuenta que en la tabla de codificación, las letras (mayúsculas y minúsculas) están ordenadas alfabéticamente y los números en orden ascendente. Esta observancia del orden lexicográfico en la disposición de los símbolos se denomina principio de codificación secuencial del alfabeto. Para las letras del alfabeto ruso, también se observa el principio de codificación secuencial. Segunda mitad de la tabla de códigos ASCIIDesafortunadamente, actualmente existen cinco codificaciones cirílicas diferentes (KOI8-R, Windows, MS-DOS, Macintosh e ISO). Debido a esto, a menudo surgen problemas al transferir texto en ruso de una computadora a otra, de un sistema de software a otro. Cronológicamente, uno de los primeros estándares para codificar letras rusas en computadoras fue KOI8 ("Código de intercambio de información, 8 bits"). Esta codificación se utilizó allá por los años 70 en ordenadores de la serie ES, y desde mediados de los 80 empezó a utilizarse en las primeras versiones rusificadas del sistema operativo UNIX. Desde principios de los años 90, época de dominio del sistema operativo MS DOS, la codificación CP866 permanece ("CP" significa "página de códigos", "página de códigos"). Las computadoras Apple que ejecutan el sistema operativo Mac OS usan su propia codificación Mac. Además, la Organización Internacional de Normalización (ISO) ha aprobado otra codificación denominada ISO 8859-5 como estándar para el idioma ruso. La codificación más común utilizada actualmente es Microsoft Windows, abreviada CP1251. Desde finales de los años 90, el problema de la estandarización de la codificación de caracteres se ha resuelto mediante la introducción de un nuevo estándar internacional llamado Unicódigo. Esta es una codificación de 16 bits, es decir. Asigna 2 bytes de memoria para cada carácter. Por supuesto, esto aumenta 2 veces la cantidad de memoria ocupada. Pero dicha tabla de códigos permite la inclusión de hasta 65536 caracteres. La especificación completa del estándar Unicode incluye todos los alfabetos del mundo existentes, extintos y creados artificialmente, así como muchos símbolos matemáticos, musicales, químicos y de otro tipo. Intentemos usar una tabla ASCII para imaginar cómo se verán las palabras en la memoria de la computadora.Representación interna de palabras en la memoria de la computadora.A veces sucede que un texto que consta de letras del alfabeto ruso recibido de otra computadora no se puede leer; se ve una especie de "abracadabra" en la pantalla del monitor. Esto sucede porque las computadoras usan diferentes codificaciones de caracteres para el idioma ruso. Cada computadora tiene su propio conjunto de caracteres que implementa. Este conjunto contiene 26 letras mayúsculas y minúsculas, números y caracteres especiales (punto, espacio, etc.). Cuando se convierten a números enteros, los símbolos se denominan códigos. Se desarrollaron estándares para que las computadoras tuvieran los mismos conjuntos de códigos. estándar ASCIIASCII (Código estándar americano para el intercambio de información) es un código estándar americano para el intercambio de información. Cada carácter ASCII tiene 7 bits, por lo que el número máximo de caracteres es 128 (Tabla 1). Los códigos del 0 al 1F son caracteres de control que no se imprimen. Se necesitan muchos caracteres ASCII no imprimibles para transmitir datos. Por ejemplo, un mensaje puede consistir en el carácter de inicio del encabezado SOH, el encabezado mismo y el carácter de inicio del texto STX, el texto mismo y el carácter de fin de texto ETX, y el carácter de fin de transmisión. carácter EOT. Sin embargo, los datos a través de la red se transmiten en paquetes, que a su vez son responsables del inicio y el final de la transmisión. Por eso casi nunca se utilizan caracteres no imprimibles. Tabla 1 - Tabla de códigos ASCII
estándar UnicodeLa codificación anterior está bien para el inglés, pero no es conveniente para otros idiomas. Por ejemplo, el alemán tiene diéresis y el francés superíndices. Algunos idiomas tienen alfabetos completamente diferentes. El primer intento de ampliar ASCII fue IS646, que amplió la codificación anterior en 128 caracteres adicionales. Se agregaron letras latinas con trazos y signos diacríticos y recibió el nombre: Latín 1. El siguiente intento fue IS 8859, que contenía una página de códigos. También hubo intentos de prórroga, pero no fueron universales. Se creó la codificación UNICODE (es 10646). La idea detrás de la codificación es asignar a cada carácter un único valor constante de 16 bits, que se llama: puntero de código. En total hay 65536 punteros. Para ahorrar espacio, utilizamos Latin-1 para los códigos 0 -255, cambiando fácilmente ASII a UNICODE. Esta norma resolvió muchos problemas, pero no todos. Debido a la llegada de nuevas palabras, por ejemplo, para el idioma japonés, es necesario aumentar el número de términos en unos 20 mil. También es necesario incluir el braille.
Tabla de códigos de caracteres ASCII de Windows. Cabe señalar que los caracteres de control de la tabla ASCII se utilizaron originalmente para garantizar el intercambio de datos mediante teletipo, la entrada de datos desde cinta perforada y para el control sencillo de dispositivos externos. |
Código | Descripción |
---|---|
NULO, 00 | Nulo, vacío |
SOH, 01 | Inicio del rumbo |
STX, 02 | Inicio de TeXt, el comienzo del texto. |
ETX, 03 | Fin del texto, fin del texto |
EOT, 04 | Fin de la transmisión |
ENQ, 05 | Preguntar. Por favor confirme |
ACK, 06 | Reconocimiento. lo confirmo |
bel, 07 | campana, llama |
Licenciatura, 08 | Retroceso, retroceder un carácter |
Pestaña, 09 | Pestaña, pestaña horizontal |
LF, 0A | Avance de línea, avance de línea. Hoy en día en la mayoría de los lenguajes de programación se denota como \n |
TV, 0B | Pestaña vertical, tabulación vertical. |
FF, 0C | Avance de formulario, avance de página, nueva página |
CR, 0D | Retorno de carro, retorno de carro. Hoy en día en la mayoría de los lenguajes de programación se denota como \r |
Entonces, 0E | Shift Out, cambia el color de la cinta de tinta en el dispositivo de impresión |
SI,0F | Shift In, devuelve el color de la cinta de tinta al dispositivo de impresión |
DLE, 10 | Data Link Escape, cambiando el canal a transmisión de datos |
DC1, 11 DC2, 12 CD3, 13 CD4, 14 | Control de dispositivos, símbolos de control de dispositivos |
NAK, 15 | Reconocimiento Negativo, no confirmo. |
SINC, 16 | Sincronización. Símbolo de sincronización |
ETB, 17 | Fin del bloque de texto, fin del bloque de texto |
CAN, 18 | Cancelar, cancelación de una transmisión previamente |
EM, 19 | Fin del medio |
SUB, 1A | Sustituto, sustituto. |
Colocado en lugar de un símbolo cuyo significado se perdió o se corrompió durante la transmisión. | ESC, 1B |
Secuencia de control de escape | FS, 1C |
Separador de archivos, separador de archivos | GS, 1D |
Separador de grupo | RS, 1E |
Separador de registros, separador de registros | EE.UU., 1P |
Separador de unidades | DEL, 7F |