viernes, 16 de septiembre de 2016

Representación interna de la información en el ordenador

Formas de representar información en el ordenador
El ordenador es una máquina digital, por lo tanto sólo es capaz de representar números
binarios. Lo que obliga a que para poder almacenar información en un ordenador,
previamente hay que codificarla en forma de números binarios.
El problema de los números binarios es que están muy alejados del ser humano; es
decir, que las personas no estamos capacitadas para manejar información en binario.
Sin embargo actualmente un ordenador es capaz de manejar información de todo
tipo: música, imágenes, texto,…. Nuestra perspectiva humana nos permite rápidamente
diferenciar lo que son números, de lo que es texto, imagen,… Pero en un ordenador
todo es más complicado por esa naturaleza binaria.
Desde los inicios de la informática la codificación (el paso de información humana a
información digital)  ha sido problemática  debido a la  falta de acuerdo en la
representación. Pero hoy día ya tenemos numerosos estándares.
Fundamentalmente la información que un ordenador maneja  son Números y Texto.
Pero curiosamente cualquier tipo de información  que no es texto  (imagen, sonido,
vídeo,…) se considera binaria (aunque como ya hemos comentado,  en realidad  toda la
información que maneja un ordenador es binaria).


Datos en forma de texto y binarios
Cualquier dato que no sea texto, se considera dato binario. Por ejemplo: música, vídeo,
imagen, un archivo Excel, un programa,…
La forma de codificar ese tipo de datos a su forma binaria es muy variable. Por
ejemplo en el caso de las imágenes, cada punto (píxel) de la imagen se codifica
utilizando su nivel de rojo, verde y azul. De modo que una sola imagen produce millones
de dígitos binarios (píxeles)



En cualquier caso sea cual sea la información que estamos codificando en binario,
para poder acceder a dicha información, el ordenador necesita el software que sepa
como decodificar la misma, eso sólo es posible utilizando el mismo software con el que
se codificó o bien otro software pero que sea capaz de entender la información
codificada.

Texto



El texto es quizá la forma más humana de representar información. Antes de la llegada
del ordenador, la información se transmitía mediante documentos o libros en papel. Esa
forma de transmitir es milenaria y sigue la forma más habitual de transmitir información
entre humanos.
En cuanto apareció la informática como una ciencia digital, apareció también el
problema de cómo codificar texto en forma de dígitos binarios. La forma habitual ha
sido codificar cada carácter en una serie de números binarios. De modo que por ejemplo
el carácter A fuera por ejemplo 01000001 y la B el 01000010.
El problema surgió por la falta de estandarización, la letra A se podía codificar
distinto en diferentes ordenadores y así encontrarnos con un problema en cuanto
quisiéramos pasar datos de un ordenador a otro.  Por ello aparecieron estándares para
intentar que todo el hardware y software codificara los caracteres igual.

El código ASCII

El problema de la codificación de texto que hacía incompatibles los documentos de
texto entre diferentes sistemas, se palió cuando se ideó en 1967 un código estándar por
parte de la ANSI, la agencia de estándares norteamericana, dicho código es el llamado
ASCII (American Standard Code for Information Interchange, código estándar
americano para el intercambio de información). El código utiliza el alfabeto inglés (que
utiliza caracteres latinos) y para codificar todos los posibles caracteres necesarios para
escribir en inglés se ideó un sistema de 7 bits (con 7 bits se pueden representar 128
símbolos, suficientes para todas las letras del alfabeto inglés,  en minúsculas y
mayúsculas, caracteres de puntuación, símbolos especiales e incluso símbolos de
control).

Pero, puesto que los alfabetos de otros países poseen otros símbolos, surgió  el
problema de que los alfabetos de las demás lenguas diferentes del inglés no podían
representar algunos (o muchos) símbolos.
Por ello se  diseñaron códigos de 8 bits que añadían 128 símbolos más  y así
aparecieron los llamados códigos ASCII extendidos. En ellos, los 128 símbolos primeros
son los mismos de la tabla ASCII original y los 128 siguientes se corresponden a símbolos
extra. Así por ejemplo el sistema MS-DOS utilizaba el llamado código  437 que incluía
símbolos y caracteres de otras lenguas de Europa Occidental y caracteres que permitían
hacer marcos y bordes en pantallas de texto, entre otros símbolos.
Sin embargo 8 bits siguen siendo insuficientes para codificar todos los alfabetos del
planeta. Por lo que cada zona usaba su propia  tabla  ASCII extendida. Ante el caos
consiguiente, la ISO decidió normalizar dichas tablas de códigos para conseguir
versiones estándares de los mismos. Lo hizo mediante  las siguientes normas (cada una
de las cuales definía una tabla de 256 caracteres, siempre los 128 primeros son el ASCII
original)


8859-1. ASCII extendido para Europa Occidental (incluye símbolos como ñ o β)
8859-2. ASCII extendido para Europa Central y del Este (incluye símbolos como Ź o č)
8859-3. ASCII extendido para Europa del Sur (incluye símbolos como Ġ o Ï)
8859-4. ASCII extendido para Europa del Norte (incluye símbolos como  ø o å)
8859-5. ASCII extendido para alfabeto cirílico (incluye símbolos como  д o Ж)
8859-6. ASCII extendido para alfabeto árabe (incluye símbolos como ن o ن)

8859-7. ASCII extendido para alfabeto griego moderno (incluye símbolos como φ o α)
8859-8. ASCII extendido para alfabeto hebreo (incluye símbolos como ץ o ק)
8859-9. ASCII extendido, versión de 8859-1 que incluye símbolos turcos en lugar de otros poco utilizados
8859-10. ASCII extendido, versión de 8859-4 que incluye símbolos más utilizados en las lenguas nórdicas actuales
8859-11. ASCII extendido para alfabeto tailandés (incluye símbolos como ๗o ๔)
8859-12. ASCII extendido para alfabeto devanagari de India y Nepal que ya no se usa
8859-13. ASCII extendido para alfabetos bálticos con símbolos que no estaban en 8859-4
8859-14. ASCII extendido para alfabeto celta (incluye símbolos como ŵ o Ẃ)
8859-15. ASCII extendido, versión de 8859-1 que incluye el símbolo del euro y símbolos de lenguas bálticas. Es el recomendado actualmente para Europa Occidental.
8859-16. ASCII extendido, versión de 8859-1 pensada para los países del sureste de Europa
2022-JP. Símbolos japoneses (parte 1)
2022-JP-2. Símbolos japoneses (parte 2)
2022-KR. Símbolos coreanos








Este problema sigue existiendo ahora de modo que en los documentos de texto hay que
indicar el sistema de codificación utilizado (el caso más evidente son las páginas web),
para saber cómo interpretar los códigos del archivo. Así en 8859_1 el código 245 es el
carácter õ y en 8859_2 es el carácter


Unicode

La complicación de las tablas de código se intenta resolver gracias al  sistema Unicode
que ha conseguido incluir los caracteres de todas las lenguas del planeta a cambio de
que cada carácter ocupe más de un byte (ocho bits). En Unicode a cada símbolo se le
asigna un número (evidentemente los 128 primeros son los originales de ASCII para
mantener la compatibilidad con los textos ya codificados y de hecho los 256 primeros
son la tabla ISO-8859_1).
Para ello el organismo también llamado Unicode participado por numerosas e
influyentes empresas informáticas y coordinado por la propia ISO, ha definido tres
formas de codificar los caracteres:


UTF-8.  Es la más utilizada (y la más compleja de usar para el ordenador).
Utiliza para cada carácter de uno a cuatro caracteres, de forma que:

  • o Utilizan uno los que pertenecen al código ASCII original
  • o Dos los pertenecientes a lenguas latinas, cirílicas, griegas, árabes, 
  • hebreas y otras de Europa, Asia Menor y Egipto
  • o Tres para símbolos fuera de los alfabetos anteriores como el chino o 
  • el japonés 
  • o Cuatro para otros símbolos: por ejemplo los matemáticos y símbolos 
  • de lenguas muertas como el fenicio o el asirio o símbolos asiáticos de 
  • uso poco frecuente.

UTF-16.  Utiliza para cada carácter  dos (para los dos primeros grupos del
punto anterior) o cuatro caracteres (para el resto). Es más sencillo que el
anterior
UTF-32. La más sencilla de todas. Cada carácter independientemente del
grupo al que pertenezca ocupa 4 caracteres. No se utiliza.

  
Archivos Binarios Vs Archivos de texto

Ventajas de los archivos binarios

(1)Ocupan menos espacio que los archivos de texto, ya que optimizan mejor su
codificación a binario (por ejemplo el número 213 ocupa un solo byte y no tres
como ocurriría si fuera un texto).
(2) Son más rápidos de manipular por parte del ordenador (se parecen más al
lenguaje nativo del ordenador)
(3) Permiten el acceso directo a los datos. Los archivos de texto siempre se manejan
de forma secuencial, más lenta
(4) En cierto modo permiten cifrar el contenido que de otra forma sería totalmente
visible por cualquier aplicación capaz de entender textos (como el bloc de
notas). Es decir los datos están cifrados.

Ventajas de los archivos de texto 

(1)Son ideales para almacenar datos para exportar e importar información a
cualquier dispositivo electrónico ya que cualquier es capaz de interpretar texto
(2) Son directamente modificables, sin tener que acudir a software específico
(3) Su manipulación es más sencilla que la de los archivos binarios
(4) Son directamente transportables y entendibles por todo tipo de redes

Exportar/Importar Datos
El problema de compartir datos

Los problemas relacionados con  el intercambio de información entre aplicaciones y
máquinas informáticas es tan viejo como la propia informática.
El problema parte del hecho de haber realizado un determinado trabajo con un
software en un ordenador concreto y después querer pasar dicho trabajo a otro
software en ese u otro ordenador.
Los archivos binarios tienen la complicación de que para hacer ese proceso, el origen
y el destino de los datos  deben comprender cómo decodificar la información. Eso en
muchos casos ha sido un gran problema que ha obligado que en muchos casos todos los
trabajadores y trabajadoras hayan tenido que adaptarse al software de la empresa y por
supuesto en toda la empresa utilizar dicho software.
En la informática actual eso es aún más problema al tener una necesidad de
disponibilidad global del trabajo y además la posibilidad de ver dicho trabajo en
dispositivos de todo tipo como mini ordenadores, PDA o incluso teléfonos móviles.

Por ello poco a poco han aparecido formatos binarios de archivo que han sido
estándares de facto (aunque no han sido reconocidos por ningún organismo de
estándares) como por ejemplo el formato documental PDF, el formato de imagen JPEG,
la música MP3 o el formato MPEG de vídeo.
Pero sigue habiendo empresas que utilizan formato propio por la idea de que sus
formatos de archivo  están directamente relacionados con la calidad de su software es
decir razonan que el software que fabrican es muy potente y necesitan un formato
binario propio compatible con esa potencia. De ahí que muchas veces la opción para
exportar e importar datos sea utilizar conversores, capaces de convertir los datos de un
formato a otro (por ejemplo de Word a Open Office; de MP3 a MOV de Apple, etc.).
El texto como el formato más versátil

Sin embargo hay un formato de archivo que cualquier dispositivo es capaz de entender.
El texto. La cuestión es que el texto sólo es capaz de almacenar  texto plano; es decir
simplemente caracteres. Pero no información más compleja como hojas de cálculo,
imágenes, etc.
Por ello se  intenta que el propio texto sirva para almacenar otros datos.
Evidentemente no es posible usar texto para almacenar por ejemplo  imágenes, pero sí
otras cosas. Para ello dentro del archivo habrá contenido que no se interpretará como
texto sin más sino como otro tipo de información. Es decir texto que contiene marcas
especiales. Desde el principio hay dos campos en los que está idea ha funcionado bien:
en las bases de datos y en  los procesadores de texto. Actualmente el éxito de Internet
ha permitido espolear esta tecnología.
Hay un problema con el texto, puesto que es un formato tan universal, su contenido
siempre es visible y por lo tanto es peligroso como fuente para almacenar  datos
confidenciales. Los binarios tampoco lo son, porque los principales formatos se pueden
abrir con el software apropiado; pero cifrar la información es una operación puramente
binaria. Por ello el texto puro no se suele utilizar para esta tarea.

No hay comentarios:

Publicar un comentario