Articulo de referencia

Conversión de datos

La conversión de datos consiste en transformar datos informáticos de un formato a otro. En un entorno informático, los datos se codifican de diversas maneras. Por ejemplo, el ha...

La conversión de datos consiste en transformar datos informáticos de un formato a otro. En un entorno informático, los datos se codifican de diversas maneras. Por ejemplo, el hardware se basa en ciertos estándares, lo que exige que los datos incluyan, por ejemplo, comprobaciones de bits de paridad . Del mismo modo, el sistema operativo se basa en ciertos estándares para el manejo de datos y archivos. Además, cada programa informático gestiona los datos de forma diferente. Siempre que se modifica alguna de estas variables, los datos deben convertirse antes de que puedan ser utilizados por otro ordenador, sistema operativo o programa. Incluso las distintas versiones de estos elementos suelen implicar estructuras de datos diferentes. Por ejemplo, el cambio de bits de un formato a otro, generalmente para la interoperabilidad de aplicaciones o para la capacidad de utilizar nuevas funciones, es simplemente una conversión de datos. Las conversiones de datos pueden ser tan sencillas como la conversión de un archivo de texto de un sistema de codificación de caracteres a otro; o más complejas, como la conversión de formatos de archivos de Office, o la conversión de formatos de imagen y de audio .

Existen muchas maneras de convertir datos dentro del entorno informático. Esto puede ser un proceso sencillo, como al actualizar a una versión más reciente de un programa. Alternativamente, la conversión puede requerir el procesamiento mediante un programa de conversión específico, o puede implicar un proceso complejo que pase por etapas intermedias, o procedimientos complejos de exportación e importación, que pueden incluir la conversión a y desde un archivo de texto delimitado por tabulaciones o separado por comas. En algunos casos, un programa puede reconocer varios formatos de archivo de datos en la etapa de entrada de datos y, además, es capaz de almacenar los datos de salida en varios formatos diferentes. Dicho programa puede utilizarse para convertir un formato de archivo. Si el formato de origen o el de destino no se reconocen, a veces se puede utilizar un tercer programa que permita la conversión a un formato intermedio, que luego se puede reformatear con el primer programa. Existen muchos escenarios posibles.

Información básica

Antes de realizar cualquier conversión de datos, el usuario o el programador de la aplicación deben tener en cuenta algunos conceptos básicos de informática y teoría de la información . Estos incluyen:

  • La información puede ser descartada fácilmente por el ordenador, pero añadir información requiere esfuerzo.
  • El ordenador solo puede añadir información siguiendo reglas predefinidas.
  • El sobremuestreo de los datos o la conversión a un formato con más características no añade información; simplemente crea espacio para esa adición, que normalmente debe realizar un ser humano.
  • Los datos almacenados en formato electrónico pueden modificarse y analizarse rápidamente.

Por ejemplo, una imagen en color verdadero se puede convertir fácilmente a escala de grises , mientras que la conversión inversa es un proceso laborioso. Convertir un archivo de texto de Unix a un archivo de texto de Microsoft (DOS/Windows) implica agregar caracteres, pero esto no aumenta la entropía ya que se basa en reglas; mientras que la adición de información de color a una imagen en escala de grises no se puede hacer de forma fiable mediante programación, ya que requiere agregar nueva información, por lo que cualquier intento de agregar color requeriría una estimación por parte de la computadora basada en conocimientos previos. Convertir un PNG de 24 bits a uno de 48 bits no le agrega información, solo rellena los valores de píxeles RGB existentes con ceros , de modo que un píxel con un valor de FF C3 56, por ejemplo, se convierte en FF00 C300 5600. La conversión permite cambiar un píxel para que tenga un valor de, por ejemplo, FF80 C340 56A0, pero la conversión en sí no hace eso, solo una manipulación posterior de la imagen puede hacerlo. Convertir una imagen o un archivo de audio en un formato con pérdida (como JPEG o Vorbis ) a un formato sin pérdida (como PNG o FLAC ) o sin comprimir (como BMP o WAV ) solo supone un desperdicio de espacio, ya que la misma imagen, con la pérdida de información original (los artefactos de la compresión con pérdida), se convierte en el objetivo. Una imagen JPEG nunca podrá recuperar la calidad de la imagen original de la que se creó, por mucho que el usuario intente eliminar los artefactos JPEG con su programa de edición de imágenes.      

La restauración automática de la información que se perdió a través de un proceso de compresión con pérdida probablemente requeriría avances importantes en inteligencia artificial .

Debido a estas realidades de la informática y la teoría de la información, la conversión de datos suele ser un proceso complejo y propenso a errores que requiere la ayuda de expertos.

Conversión de pivote

La conversión de datos puede ocurrir directamente de un formato a otro, pero muchas aplicaciones que convierten entre múltiples formatos utilizan una representación intermedia mediante la cual cualquier formato de origen se convierte a su destino. [ 1 ] Por ejemplo, es posible convertir texto cirílico de KOI8-R a Windows-1251 utilizando una tabla de búsqueda entre las dos codificaciones, pero el enfoque moderno es convertir primero el archivo KOI8-R a Unicode y luego a Windows-1251. Este es un enfoque más manejable; en lugar de necesitar tablas de búsqueda para todos los pares posibles de codificaciones de caracteres, una aplicación solo necesita una tabla de búsqueda para cada conjunto de caracteres, que utiliza para convertir a y desde Unicode, reduciendo así la cantidad de tablas de cientos a unas pocas decenas.

La conversión pivotal se utiliza de forma similar en otras áreas. Las aplicaciones de Office, al emplearse para convertir entre formatos de archivo de Office, utilizan su formato de archivo interno predeterminado como pivote. Por ejemplo, un procesador de texto puede convertir un archivo RTF a un archivo WordPerfect convirtiendo primero el RTF a OpenDocument y luego este al formato WordPerfect. Un programa de conversión de imágenes no convierte una imagen PCX a PNG directamente; en cambio, al cargar la imagen PCX, la decodifica a un formato de mapa de bits simple para su uso interno en memoria, y cuando se le ordena convertirla a PNG, esa imagen en memoria se convierte al formato de destino. Un convertidor de audio que convierte de FLAC a AAC primero decodifica el archivo de origen a datos PCM sin procesar en memoria, y luego realiza la compresión AAC con pérdida en esa imagen en memoria para producir el archivo de destino.

Conversión de datos perdida e inexacta

El objetivo de la conversión de datos es conservar todos los datos y la mayor cantidad posible de información incrustada. Esto solo es posible si el formato de destino admite las mismas características y estructuras de datos presentes en el archivo de origen. La conversión de un documento de procesamiento de texto a un archivo de texto plano implica necesariamente la pérdida de información de formato, ya que el formato de texto plano no admite construcciones de procesamiento de texto como marcar una palabra en negrita. Por esta razón, la conversión de un formato a otro que no admite una característica importante para el usuario rara vez se realiza, aunque puede ser necesaria para la interoperabilidad, por ejemplo, convertir un archivo de una versión de Microsoft Word a una versión anterior para permitir la transferencia y el uso por parte de otros usuarios que no tienen instalada la misma versión más reciente de Word en su computadora.

La pérdida de información puede mitigarse mediante la aproximación en el formato de destino. No existe una forma de convertir un carácter como ä a ASCII , ya que el estándar ASCII carece de esta función, pero la información puede conservarse aproximándolo como ae . Por supuesto, esta no es una solución óptima y puede afectar a operaciones como la búsqueda y la copia; además, si un idioma distingue entre ä y ae , dicha aproximación implica una pérdida de información.

La conversión de datos también puede sufrir de inexactitud, resultado de la conversión entre formatos conceptualmente diferentes. Un ejemplo es el paradigma WYSIWYG , presente en procesadores de texto y aplicaciones de autoedición , frente al paradigma estructural-descriptivo, presente en SGML , XML y muchas aplicaciones derivadas de estos, como HTML y MathML . El uso de un editor HTML WYSIWYG fusiona ambos paradigmas, dando como resultado archivos HTML con código subóptimo, si no no estándar. En el paradigma WYSIWYG, un doble salto de línea indica un nuevo párrafo, ya que es la señal visual para dicha estructura, pero un editor HTML WYSIWYG normalmente convertirá dicha secuencia en <BR><BR> , que estructuralmente no constituye un nuevo párrafo. Otro ejemplo es la conversión de PDF a un formato editable de procesador de texto, una tarea ardua, ya que PDF registra la información textual como si fuera un grabado en piedra, con cada carácter en una posición fija y saltos de línea codificados, mientras que los formatos de procesador de texto permiten el reajuste del texto. El formato PDF no reconoce el carácter de espacio entre palabras; el espacio entre dos letras y el espacio entre dos palabras solo difieren en cantidad. Por lo tanto, un título con un amplio espaciado entre letras para lograr un efecto visual generalmente aparecerá con espacios en el archivo del procesador de texto; por ejemplo, INTRODUCCIÓN con un espaciado de 1 em aparecerá como INTRODUCCIÓN en el procesador de texto.

Especificaciones abiertas frente a secretas

Para una conversión de datos exitosa, se requiere un conocimiento profundo del funcionamiento de los formatos de origen y destino. Si se desconoce la especificación de un formato, será necesario realizar la conversión mediante ingeniería inversa . Si bien la ingeniería inversa puede lograr una aproximación cercana a las especificaciones originales, aún pueden presentarse errores y faltar algunas funciones.

Electrónica

La conversión de formato de datos también puede ocurrir en la capa física de un sistema de comunicación electrónica. La conversión entre códigos de línea, como NRZ y RZ, puede realizarse cuando sea necesario.

Véase también

References

  1. Dragos-Anton Manolescu; Markus Voelter; James Noble (2006). Pattern Languages of Program Design 5. Addison-Wesley Professional. pp. 271–. ISBN 978-0-321-32194-7.
  • Manolescu, FirstName (2006). Pattern Languages of Program Design 5. Upper Saddle River, NJ: Addison-Wesley. ISBN 0321321944.
  • Data conversion - Concept, processes, and practical examples in computing and digital media