Conversión de datos - Data conversion

La conversión de datos es la conversión de datos informáticos de un formato a otro. En un entorno informático, los datos se codifican de diversas formas. Por ejemplo, el hardware de la computadora se construye sobre la base de ciertos estándares, lo que requiere que los datos contengan, por ejemplo, verificaciones de bits de paridad . De manera similar, el sistema operativo se basa en ciertos estándares para el manejo de datos y archivos. Además, cada programa de computadora maneja los datos de manera diferente. Siempre que se cambie cualquiera de estas variables, los datos deben convertirse de alguna manera antes de que puedan ser utilizados por una computadora, sistema operativo o programa diferente. Incluso las diferentes versiones de estos elementos suelen involucrar diferentes estructuras de datos. Por ejemplo, el cambio de bits de un formato a otro, generalmente con el propósito de la interoperabilidad de la aplicación o de la capacidad de utilizar nuevas funciones, es simplemente una conversión de datos. Las conversiones de datos pueden ser tan simples como la conversión de un archivo de texto de un sistema de codificación de caracteres a otro; o más complejos, como la conversión de formatos de archivo de oficina o la conversión de formatos de imagen y formatos de archivo de audio .

Hay muchas formas de convertir los datos en el entorno informático. Esto puede ser perfecto, como en el caso de actualizar a una versión más nueva de un programa de computadora. Alternativamente, la conversión puede requerir procesamiento mediante el uso de un programa de conversión especial, o puede involucrar un proceso complejo de pasar por etapas intermedias, o involucrar procedimientos complejos de "exportación" e "importación", que pueden incluir la conversión hacia y desde una pestaña. -archivo de texto delimitado 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 luego también es capaz de almacenar los datos de salida en varios formatos diferentes. Un programa de este tipo se puede utilizar para convertir un formato de archivo. Si no se reconoce el formato de origen o el formato de destino, a veces puede estar disponible un tercer programa que permite la conversión a un formato intermedio, que luego se puede reformatear utilizando el primer programa. Hay muchos escenarios posibles.

Conceptos básicos de información

Antes de llevar a cabo cualquier conversión de datos, el usuario o el programador de la aplicación debe tener en cuenta algunos conceptos básicos de la teoría de la información y la computación . Éstos incluyen:

  • La computadora puede descartar fácilmente la información, pero agregar información requiere esfuerzo.
  • La computadora puede agregar información solo de una manera basada en reglas.
  • El muestreo superior de los datos o la conversión a un formato más rico en funciones no agrega información; simplemente deja espacio para esa adición, que normalmente debe hacer un humano.
  • Los datos almacenados en formato electrónico se pueden modificar y analizar rápidamente.

Por ejemplo, una imagen en color verdadero se puede convertir fácilmente a escala de grises, mientras que la conversión opuesta es un proceso minucioso. La conversión de un archivo de texto Unix a un archivo de texto de Microsoft (DOS / Windows) implica agregar caracteres, pero esto no aumenta la entropía ya que está basado en reglas; mientras que la adición de información de color a una imagen en escala de grises no se puede hacer mediante programación, ya que solo un ser humano sabe qué colores se necesitan para cada sección de la imagen, no hay reglas que se puedan usar para automatizar ese proceso. Convertir un PNG de 24 bits en 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. El La conversión hace posible cambiar un píxel para que tenga un valor de, por ejemplo, FF80 C340 56A0, pero la conversión en sí no lo hace, solo una manipulación adicional de la imagen puede hacerlo. Convertir una imagen o 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 desperdicia espacio, ya que la misma imagen con su pérdida de información original (la artefactos de compresión con pérdida) se convierte en el objetivo. Una imagen JPEG nunca se puede restaurar a la calidad de la imagen original a partir de la cual se hizo, sin importar cuánto intente el usuario con la función "Eliminación de artefactos JPEG " de su programa de manipulació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érdidas 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 es a menudo un proceso complejo y propenso a errores que requiere la ayuda de expertos.

Conversión fundamental

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 en su destino. Por ejemplo, es posible convertir texto cirílico de KOI8-R a Windows-1251 usando una tabla de búsqueda entre las dos codificaciones, pero el enfoque moderno es convertir el archivo KOI8-R a Unicode primero y de ahí 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 juego de caracteres, que utiliza para convertir hacia y desde Unicode, reduciendo así el número de tablas de cientos a unas pocas decenas.

La conversión fundamental se usa de manera similar en otras áreas. Las aplicaciones de oficina, cuando se emplean para convertir entre formatos de archivo de oficina, utilizan su formato de archivo interno predeterminado como pivote. Por ejemplo, un procesador de texto puede convertir un archivo RTF en un archivo WordPerfect convirtiendo el RTF a OpenDocument y luego 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 uso interno en la memoria, y cuando se le ordena convertir a PNG, esa imagen de la memoria se convierte al formato de destino. Un convertidor de audio que convierte de FLAC a AAC decodifica el archivo de origen en datos PCM sin procesar en la memoria primero y luego realiza la compresión AAC con pérdida en esa imagen de memoria para producir el archivo de destino.

Conversión de datos perdidos e inexactos

El objetivo de la conversión de datos es mantener todos los datos y la mayor cantidad posible de información incorporada. Esto solo se puede hacer 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 sin formato implica necesariamente la pérdida de información de formato, porque el formato de texto sin formato 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 función que es importante para el usuario rara vez se lleva a cabo, aunque puede ser necesario para la interoperabilidad, por ejemplo, convertir un archivo de una versión de Microsoft Word a una versión anterior para habilite la transferencia y el uso por parte de otros usuarios que no tengan la misma versión posterior de Word instalada en su computadora.

La pérdida de información se puede mitigar mediante la aproximación en el formato de destino. No hay forma de convertir un carácter como ä en ASCII , ya que el estándar ASCII carece de él, pero la información puede retenerse aproximando el carácter como ae . Por supuesto, esta no es una solución óptima y puede afectar operaciones como la búsqueda y la copia; y si una lengua hace una distinción entre ä y ae , entonces esa aproximación implica pérdida de información.

La conversión de datos también puede sufrir de inexactitud, el resultado de convertir entre formatos que son conceptualmente diferentes. El paradigma WYSIWYG , existente en procesadores de texto y aplicaciones de autoedición , versus el paradigma estructural-descriptivo, que se encuentra en SGML , XML y muchas aplicaciones derivadas de ellos, como HTML y MathML , es un ejemplo. El uso de un editor HTML WYSIWYG combina los dos paradigmas y el resultado son archivos HTML con código subóptimo, si no no estándar. En el paradigma WYSIWYG, un salto de línea doble significa un nuevo párrafo, ya que es la señal visual para tal construcción, pero un editor HTML WYSIWYG generalmente convertirá dicha secuencia a <BR> <BR>, que estructuralmente no es un párrafo nuevo en absoluto. . Como otro ejemplo, la conversión de PDF a un formato de procesador de texto editable es una tarea difícil, porque PDF registra la información textual como grabado en piedra, con cada carácter con una posición fija y saltos de línea codificados, mientras que los formatos de procesador de texto se adaptan al reflujo de texto. PDF no conoce un carácter de espacio entre palabras; el espacio entre dos letras y el espacio entre dos palabras solo difieren en la cantidad. Por lo tanto, un título con un amplio espacio entre letras para lograr un efecto generalmente terminará con espacios en el archivo del procesador de texto, por ejemplo, INTRODUCCIÓN con un espacio de 1 em como INTRODUCCIÓN en el procesador de texto.

Especificaciones abiertas vs.secretas

La conversión de datos exitosa requiere un conocimiento profundo del funcionamiento de los formatos de origen y destino. En el caso de que se desconozca la especificación de un formato, se necesitará ingeniería inversa para llevar a cabo la conversión. La ingeniería inversa puede lograr una aproximación cercana a las especificaciones originales, pero aún así pueden producirse errores y características faltantes.

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 se puede realizar cuando sea necesario.

Ver también

Referencias

Manolescu, FirstName (2006). Lenguajes de patrones de diseño de programas 5 . Upper Saddle River, Nueva Jersey: Addison-Wesley. ISBN 0321321944.