stringtranslate.com

Conversión de datos

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, comprobaciones 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 informático maneja los datos de una manera diferente. Siempre que se cambia alguna 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 generalmente implican diferentes estructuras de datos. Por ejemplo, el cambio de bits de un formato a otro, generalmente con el propósito de interoperabilidad de aplicaciones o de la capacidad de usar nuevas características, 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 complejas, como la conversión de formatos de archivos de oficina, o la conversión de formatos de imágenes y formatos de archivos de audio .

Existen muchas formas de convertir datos en el entorno informático. Esto puede ser sencillo, como en el caso de la actualización a una versión más nueva de un programa informático. Alternativamente, la conversión puede requerir un procesamiento mediante el uso de un programa de conversión especial, o puede implicar un proceso complejo de pasar por etapas intermedias, o involucrar procedimientos complejos de "exportación" e "importación", que pueden incluir la conversión a y desde un archivo de texto delimitado por tabuladores 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 puede usarse 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 permita la conversión a un formato intermedio, que luego puede reformatearse utilizando el primer programa. Hay muchos escenarios posibles.

Información básica

Antes de realizar cualquier conversión de datos, el usuario o el programador de aplicaciones deben tener en cuenta algunos conceptos básicos de informática y teoría de la información , entre los que se incluyen los siguientes:

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. Convertir un archivo de texto Unix a un archivo de texto 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 de manera confiable 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 [ cita requerida ] , 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 mayor manipulación de la imagen puede hacerlo. La conversión de un archivo de imagen o audio en un formato con pérdida (como JPEG o Vorbis ) a un formato sin pérdida (como PNG o FLAC ) o sin compresión (como BMP o WAV ) solo desperdicia espacio, ya que la misma imagen con su pérdida de información original (los artefactos de la 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 creó, sin importar cuánto intente el usuario 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 perdida 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 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 usan una representación intermedia por medio de 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 usando una tabla de búsqueda entre las dos codificaciones, pero el enfoque moderno es convertir primero el archivo KOI8-R a Unicode y de este 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 necesita solo una tabla de búsqueda para cada conjunto de caracteres, que usa para convertir a y desde Unicode, reduciendo así el número de tablas de cientos a unas pocas decenas. [ cita requerida ]

La conversión pivotal se utiliza de forma similar en otras áreas. Las aplicaciones de Office, cuando se emplean para convertir entre formatos de archivos de Office, utilizan su formato de archivo interno predeterminado como pivote. Por ejemplo, un procesador de textos puede convertir un archivo RTF en un archivo WordPerfect convirtiendo el RTF en OpenDocument y luego este al formato WordPerfect. Un programa de conversión de imágenes no convierte una imagen PCX en 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 memoria se convierte al formato de destino. Un convertidor de audio que convierte de FLAC a AAC decodifica primero el archivo de origen a datos PCM sin procesar en la memoria 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 incrustada. Esto sólo 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 este motivo, la conversión de un formato a otro que no admita una característica que sea importante para el usuario rara vez se lleva a cabo, aunque puede ser necesaria para la interoperabilidad, por ejemplo, la conversión de 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 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 ä a ASCII , ya que el estándar ASCII no lo tiene, pero la información se puede conservar mediante la aproximación del carácter como ae . Por supuesto, esta no es una solución óptima y puede afectar a operaciones como la búsqueda y la copia; y si un lenguaje hace una distinción entre ä y ae , entonces esa aproximación implica una pérdida de información.

La conversión de datos también puede verse afectada por la inexactitud, resultado de la conversión entre formatos que son conceptualmente diferentes. El paradigma WYSIWYG , existente en los procesadores de texto y las aplicaciones de autoedición , frente al 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 un código subóptimo, si no no estándar. En el paradigma WYSIWYG, un doble salto de línea significa un nuevo párrafo, ya que esa es la señal visual para tal construcción, pero un editor HTML WYSIWYG normalmente convertirá dicha secuencia en <BR><BR>, que estructuralmente no es ningún 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 un grabado en piedra, con cada carácter asignado a una posición fija y saltos de línea codificados de forma rígida, mientras que los formatos de procesador de texto se adaptan al reflujo de texto. El formato PDF no reconoce el carácter de espacio entre palabras: el espacio entre dos letras y el espacio entre dos palabras difieren solo en la cantidad. Por lo tanto, un título con un amplio espacio entre letras para lograr un efecto más impactante generalmente terminará con espacios en el archivo del procesador de textos, por ejemplo, INTRODUCCIÓN con un espacio de 1 em como INTRODUCCIÓN en el procesador de textos.

Especificaciones abiertas y secretas

Para que la conversión de datos sea exitosa, es necesario conocer a fondo el funcionamiento de los formatos de origen y destino. En caso de que se desconozcan las especificaciones de un formato, será necesario aplicar ingeniería inversa para realizar la conversión. La ingeniería inversa puede lograr una aproximación cercana a las especificaciones originales, pero aun así pueden producirse errores y falta de características.

Electrónica

La conversión de formatos 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.

Véase también

Referencias

  1. ^ Dragos-Anton Manolescu; Markus Voelter; James Noble (2006). Lenguajes de patrones de diseño de programas 5. Addison-Wesley Professional. págs. 271–. ISBN 978-0-321-32194-7.

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