Читать книгу La carrera digital - Ignacio G.R. Gavilán - Страница 14

Codificación

Оглавление

Codificar la información es traducirla del mundo real a un formato cerrado, conocido y procesable por un computador. En el mundo digital, el formato se traduce en último término a una secuencia de unos y ceros. Se conoce como bit la cantidad mínima de información. Un bit sólo puede tomar dos valores alternativos, lo que en el mundo digital denominamos uno o cero.

Vamos a ver tres casos que nos pueden ayudar a comprender este concepto. Y lo vamos a hacer, intencionadamente, con casos muy sencillos para luego mencionar situaciones más complejas y también más reales.

Primero veamos cómo se codifican números enteros. En este caso, simplemente, se traducen a lo que se denomina codificación en base 2. En lo que sigue, vamos a suponer que el lector conoce cómo se realiza esta codificación, pero, a modo de ejemplo, veamos cómo se codificarían en un byte (que es como se conoce a un grupo de ocho bits) los números del 0 al 9.

Número entero (decimal)Número entero binario
000000000
100000001
200000010
300000011
400000100
500000101
600000110
700000111
800001000
900001001

Veamos ahora un ejemplo de codificación de texto, y para ello recurrimos al tradicional código ASCII. ASCII (American Standard Code for Information Interchange) fue uno de los primeros sistemas de codificación de textos. En concreto, se creó en 1963 por la American Standard Association aplicado al alfabeto latino. ASCII codifica 128 caracteres diferentes, incluyendo las letras en mayúsculas y minúsculas, dígitos del ٠ al ٩ y varios signos de puntuación. En realidad, lo que hace ASCII es asignar un número entero a cada carácter o signo. Luego representa cada carácter o signo como la codificación del número entero correspondiente. Veamos en la tabla la codificación de las letras mayúsculas en ASCII. Por cada letra, se observa el número que se le asigna y su codificación en un byte.

ABCDEFG
65666768697071
01000001010000100100001101000100010001010100011001000111
HIJKLMN
72737475767778
01001000010010010100101001001011010011000100110101001110
OPQRSTU
79808182838485
01001111010100000101000101010010010100110101010001010101
VWXYZ
8687888990
0101011001010111010110000101100101011010

¿Cuál sería, según esto, la codificación binaria de una letra «L» usando ASCII? Pues, buscando en la tabla de arriba, vemos que sería la secuencia: «01001100».

Por último, vamos a hacernos una idea de cómo se puede codificar de manera simple una imagen. De nuevo, pensamos en el caso más sencillo, una imagen en blanco y negro.

Imaginemos que tenemos una figura sencilla. Vamos a escoger el famoso perfil del director Alfred Hitchcock.


Ilustración 1. Perfil de Alfred Hitchcock.

Para codificar esa figura vamos adoptar una técnica muy simple. Colocamos encima de la figura una cuadrícula de 64 filas y 64 columnas. Ahora, las cuadrículas en negro o donde predomine el negro las marcamos con un 1. La cosa quedaría, más o menos, así:


Ilustración 2. Perfil de Alfred Hitchcock marcado con unos.

No es difícil entrever el perfil del cineasta, ¿verdad?

Pues ahora, para completar nuestra sencilla digitalización, marcamos con un cero aquellas cuadrículas en blanco o donde predomine el blanco. Este es el resultado:


Ilustración 3. Perfil de Alfred Hitchcock con unos y ceros.

Si ahora queremos trasladar eso a bytes, tendríamos un bit para cada recuadro de la cuadrícula, bits que, agrupándolos de ocho en ocho, nos llevarían a ocho bytes para representar una fila (cada byte, recordemos, incluye ocho bits) y un total de 512 bytes para representar la figura (64 filas a ocho bytes cada una). Tras hacer estas operaciones, así es como quedaría finalmente codificada nuestra figura:

0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000110000000000000000000000000000000000
0000000000000000000000001111111111110000000000000000000000000000
0000000000000000000000011111111111111111000000000000000000000000
0000000000000000000001111111111111111111111000000000000000000000
0000000000000000000111111111111111111111111110000000000000000000
0000000000000000001111111111111111111111111111100000000000000000
0000000000000000011111111111111111111111111111110000000000000000
0000000000000000111111111111111111111111111111111000000000000000
0000000000000001111111111111111111111111111111111000000000000000
0000000000000011111111111111111111111111111111111100000000000000
0000000000000011111111111111111111111111111111111110000000000000
0000000000000111111111111111111111111111111111111111000000000000
0000000000000111111111111111111111111111111111111111000000000000
0000000000001111111111111111111111111111111111111111100000000000
0000000000001111111111111111111111111111111111111111100000000000
0000000000001111111111111111111111111111111111111111110000000000
0000000000001111111111111111111111111111111111111111100000000000
0000000000011111111111111111111111111111111111111111100000000000
0000000000011111111111111111111111111111111111111111100000000000
0000000000111111111111111111111111111111111111111111100000000000
0000000001111111111111111111111111111111111111111111100000000000
0000000111111111111111111111111111111111111111111111100000000000
0000001111111111111111111111111111111111111111111111000000000000
0000011111111111111111111111111111111111111111111111000000000000
0000011111111111111111111111111111111111111111111111000000000000
0000011111111111111111111111111111111111111111111110000000000000
0000001111111111111111111111111111111111111111111100000000000000
0000000001111111111111111111111111111111111111111100000000000000
0000000011111111111111111111111111111111111111111100000000000000
0000000011111111111111111111111111111111111111111100000000000000
0000000111111111111111111111111111111111111111111000000000000000
0000000111111111111111111111111111111111111111111000000000000000
0000000011111111111111111111111111111111111111110000000000000000
0000000111111111111111111111111111111111111111110000000000000000
0000000111111111111111111111111111111111111111100000000000000000
0000000000111111111111111111111111111111111110000000000000000000
0000000001111111111111111111111111111111111111000000000000000000
0000000001111111111111111111111111111111111111100000000000000000
0000000001111111111111111111111111111111111111100000000000000000
0000000000111111111111111111111111111111111111110000000000000000
0000000000001111111111111111111111111111111111111000000000000000
0000000000000011111111111111111111111111111111111000000000000000
0000000000000001111111111111111111111111111111111100000000000000
0000000000000000111111111111111111111111111111111110000000000000
0000000000000000011111111111111111111111111111111111000000000000
0000000000000000001111111111111111111111111111111111100000000000
0000000000000000000111111111111111111111111111111111110000000000
0000000000000000000001111111111111111111111111111111111000000000
0000000000000000000011111111111111111111111111111111111000000000
0000000000000000000111111111111111111111111111111111111000000000
0000000000000000111111111111111111111111111111111111111110000000
0000000000000001111111111111111111111111111111111111111110000000
0000000000000011111111111111111111111111111111111111111111000000
0000000000000011111111111111111111111111111111111111111111000000
0000000000000111111111111111111111111111111111111111111111100000
0000000000001111111111111111111111111111111111111111111111100000
0000000000001111111111111111111111111111111111111111111111110000
0000000000011111111111111111111111111111111111111111111111110000
0000000000011111111111111111111111111111111111111111111111111000
0000000000111111111111111111111111111111111111111111111111111000
0000000001111111111111111111111111111111111111111111111111111100
0000000001111111111111111111111111111111111111111111111111111100

Por supuesto, las codificaciones que se han comentado hasta ahora son extremadamente sencillas. En la realidad los formatos de codificación de información suelen ser bastante más complejos y permiten almacenar más información, mucho más rica y de manera más compacta que lo que hemos mostrado.

Así, por ejemplo, formatos como GIF, JPEG o PNG permiten almacenar imágenes. Formatos como MP3 o WAV almacenan sonido. En vídeo (en general con sonido incluido) nos encontramos por ejemplo con MPEG, AVI o MOV. Y más que texto simple se suelen manejar formatos de documento como DOC o PDF, que incluyen información de formateado del texto, así como imágenes, tablas, etc.

Antes de abandonar el tema de la codificación, interesa resaltar que incluso el comportamiento, los algoritmos, se puede codificar digitalmente. Para entenderlo, basta saber que los microprocesadores y los microcontroladores, es decir, el cerebro de los ordenadores, las tablets, los smartphones o los robots, manejan un número limitado de instrucciones con sus parámetros. Para codificar el comportamiento, las instrucciones del microprocesador se pueden codificar asignando, simplemente, un número entero diferente a cada instrucción. Y ya sabemos cómo se puede codificar un número entero. Los parámetros de la instrucción (número, caracteres, etc.) se codifican digitalmente, a su vez, como corresponda según el tipo de dato: texto, número, etc.

La carrera digital

Подняться наверх