Conversion de données - Data conversion

La conversion de données est la conversion de données informatiques d'un format à un autre. Dans un environnement informatique, les données sont codées de diverses manières. Par exemple, le matériel informatique est construit sur la base de certaines normes, qui exigent que les données contiennent, par exemple, des contrôles de bits de parité . De même, le système d'exploitationrepose sur certaines normes de traitement des données et des fichiers. De plus, chaque programme informatique traite les données de manière différente. Chaque fois que l'une de ces variables est modifiée, les données doivent être converties d'une manière ou d'une autre avant de pouvoir être utilisées par un autre ordinateur, système d'exploitation ou programme. Même des versions différentes de ces éléments impliquent généralement des structures de données différentes. Par exemple, le changement de bits d'un format à un autre, généralement à des fins d'interopérabilité des applications ou de capacité à utiliser de nouvelles fonctionnalités, n'est qu'une conversion de données. Les conversions de données peuvent être aussi simples que la conversion d'un fichier texte d'un système de codage de caractères à un autre ; ou plus complexes, comme la conversion de formats de fichiers bureautiques, ou la conversion de formats d'images et de formats de fichiers audio .

Il existe de nombreuses façons de convertir les données dans l'environnement informatique. Cela peut être transparent, comme dans le cas d'une mise à niveau vers une version plus récente d'un programme informatique. Alternativement, la conversion peut nécessiter un traitement par l'utilisation d'un programme de conversion spécial, ou elle peut impliquer un processus complexe de passage par des étapes intermédiaires, ou impliquant des procédures complexes "d'exportation" et "d'importation", qui peuvent inclure la conversion vers et depuis un onglet -fichier texte délimité ou séparé par des virgules. Dans certains cas, un programme peut reconnaître plusieurs formats de fichiers de données au stade de la saisie des données et est ensuite également capable de stocker les données de sortie dans un certain nombre de formats différents. Un tel programme peut être utilisé pour convertir un format de fichier. Si le format source ou le format cible n'est pas reconnu, alors parfois un troisième programme peut être disponible qui permet la conversion vers un format intermédiaire, qui peut ensuite être reformaté en utilisant le premier programme. Il existe de nombreux scénarios possibles.

Informations de base

Avant d'effectuer toute conversion de données, l'utilisateur ou le programmeur d'applications doit garder à l'esprit quelques notions de base de l'informatique et de la théorie de l'information . Ceux-ci inclus:

  • Les informations peuvent facilement être supprimées par l'ordinateur, mais l'ajout d'informations demande des efforts.
  • L'ordinateur ne peut ajouter des informations que sur la base de règles.
  • Le suréchantillonnage des données ou la conversion dans un format plus riche en fonctionnalités n'ajoute pas d'informations ; il fait simplement de la place pour cet ajout, ce qu'un humain doit généralement faire.
  • Les données stockées dans un format électronique peuvent être rapidement modifiées et analysées.

Par exemple, une image en vraies couleurs peut facilement être convertie en niveaux de gris, tandis que la conversion inverse est un processus laborieux. La conversion d'un fichier texte Unix en un fichier texte Microsoft (DOS/Windows) implique l'ajout de caractères, mais cela n'augmente pas l' entropie car il est basé sur des règles ; alors que l'ajout d'informations de couleur à une image en niveaux de gris ne peut pas être effectué par programme, car seul un humain sait quelles couleurs sont nécessaires pour chaque section de l'image - il n'y a pas de règles qui peuvent être utilisées pour automatiser ce processus. La conversion d'un PNG 24 bits en un fichier 48 bits n'y ajoute pas d'informations, elle ne fait que remplir les valeurs de pixels RVB existantes avec des zéros, de sorte qu'un pixel avec une valeur de FF C3 56, par exemple, devienne FF00 C300 5600. Le la conversion permet de changer un pixel pour avoir une valeur de, par exemple, FF80 C340 56A0, mais la conversion elle-même ne le fait pas, seule une manipulation supplémentaire de l'image peut le faire. La conversion d'une image ou d'un fichier audio dans un format avec perte (comme JPEG ou Vorbis ) en un format sans perte (comme PNG ou FLAC ) ou non compressé (comme BMP ou WAV ) ne fait que gaspiller de l'espace, car la même image avec sa perte d'informations originales (le artefacts de compression avec perte) devient la cible. Une image JPEG ne peut jamais être restaurée à la qualité de l'image d'origine à partir de laquelle elle a été créée, peu importe combien l'utilisateur essaie la fonction " JPEG Artifact Removal " de son programme de manipulation d'images.

La restauration automatique des informations perdues lors d'un processus de compression avec perte nécessiterait probablement des avancées importantes en matière d'intelligence artificielle .

En raison de ces réalités de l'informatique et de la théorie de l'information, la conversion des données est souvent un processus complexe et sujet aux erreurs qui nécessite l'aide d'experts.

Conversion pivot

La conversion de données peut se produire directement d'un format à un autre, mais de nombreuses applications qui convertissent entre plusieurs formats utilisent une représentation intermédiaire au moyen de laquelle tout format source est converti vers sa cible. Par exemple, il est possible de convertir le texte cyrillique de KOI8-R en Windows-1251 à l' aide d'une table de recherche entre les deux encodages, mais l'approche moderne consiste à convertir d'abord le fichier KOI8-R en Unicode puis en Windows-1251. C'est une approche plus gérable; plutôt que d'avoir besoin de tables de recherche pour toutes les paires possibles de codages de caractères, une application n'a besoin que d'une seule table de recherche pour chaque jeu de caractères, qu'elle utilise pour convertir vers et depuis Unicode, réduisant ainsi le nombre de tables de centaines à quelques dizaines.

La conversion pivot est également utilisée dans d'autres domaines. Les applications Office, lorsqu'elles sont utilisées pour convertir entre les formats de fichiers Office, utilisent leur format de fichier interne par défaut comme pivot. Par exemple, un traitement de texte peut convertir un fichier RTF en un fichier WordPerfect en convertissant le RTF en OpenDocument puis en format WordPerfect. Un programme de conversion d'image ne convertit pas directement une image PCX en PNG ; au lieu de cela, lors du chargement de l'image PCX, il la décode en un format bitmap simple pour une utilisation interne en mémoire, et lorsqu'il est commandé de convertir en PNG, cette image mémoire est convertie au format cible. Un convertisseur audio qui convertit de FLAC en AAC décode d'abord le fichier source en données PCM brutes en mémoire, puis exécute la compression AAC avec perte sur cette image mémoire pour produire le fichier cible.

Conversion de données perdues et inexactes

L'objectif de la conversion de données est de conserver toutes les données et autant d'informations intégrées que possible. Cela ne peut être fait que si le format cible prend en charge les mêmes fonctionnalités et structures de données présentes dans le fichier source. La conversion d'un document de traitement de texte en un fichier texte brut implique nécessairement la perte d'informations de mise en forme, car le format texte brut ne prend pas en charge les constructions de traitement de texte telles que le marquage d'un mot en gras. Pour cette raison, la conversion d'un format à un autre qui ne prend pas en charge une fonctionnalité importante pour l'utilisateur est rarement effectuée, bien qu'elle puisse être nécessaire pour l'interopérabilité, par exemple la conversion d'un fichier d'une version de Microsoft Word vers une version antérieure en permettre le transfert et l'utilisation par d'autres utilisateurs qui n'ont pas la même version ultérieure de Word installée sur leur ordinateur.

La perte d'informations peut être atténuée par une approximation du format cible. Il n'y a aucun moyen de convertir un caractère comme ä en ASCII , car la norme ASCII en manque, mais l'information peut être conservée en rapprochant le caractère comme ae . Bien entendu, ce n'est pas une solution optimale et peut avoir un impact sur des opérations telles que la recherche et la copie ; et si une langue fait une distinction entre ä et ae , alors cette approximation implique une perte d'information.

La conversion des données peut également souffrir d'inexactitude, résultat de la conversion entre des formats conceptuellement différents. Le paradigme WYSIWYG , existant dans les traitements de texte et les applications de publication assistée par ordinateur , par rapport au paradigme structurel-descriptif, trouvé dans SGML , XML et de nombreuses applications dérivées de ceux-ci, comme HTML et MathML , en est un exemple. L'utilisation d'un éditeur HTML WYSIWYG confond les deux paradigmes, et le résultat est des fichiers HTML avec un code sous-optimal, voire non standard. Dans le paradigme WYSIWYG, un double saut de ligne signifie un nouveau paragraphe, car c'est le repère visuel pour une telle construction, mais un éditeur HTML WYSIWYG convertira généralement une telle séquence en <BR><BR>, qui n'est structurellement aucun nouveau paragraphe du tout . Autre exemple, la conversion de PDF en un format de traitement de texte modifiable est une corvée difficile, car le PDF enregistre les informations textuelles telles que la gravure sur pierre, chaque caractère étant doté d'une position fixe et les sauts de ligne codés en dur, tandis que les formats de traitement de texte s'adaptent à la redistribution du texte. PDF ne connaît pas de caractère d'espacement de mot - l'espace entre deux lettres et l'espace entre deux mots ne diffèrent que par la quantité. Par conséquent, un titre avec un espacement des lettres suffisant pour l'effet se retrouvera généralement avec des espaces dans le fichier de traitement de texte, par exemple INTRODUCTION avec un espacement de 1 em comme INTRODUCTION sur le traitement de texte.

Spécifications ouvertes ou secrètes

Une conversion de données réussie nécessite une connaissance approfondie du fonctionnement des formats source et cible. Dans le cas où la spécification d'un format est inconnue, une ingénierie inverse sera nécessaire pour effectuer la conversion. L'ingénierie inverse peut atteindre une approximation proche des spécifications d'origine, mais des erreurs et des fonctionnalités manquantes peuvent toujours se produire.

Électronique

La conversion de format de données peut également se produire au niveau de la couche physique d'un système de communication électronique. La conversion entre les codes de ligne tels que NRZ et RZ peut être effectuée si nécessaire.

Voir également

Les références

Manolescu, Prénom (2006). Langages de modèles de conception de programmes 5 . Upper Saddle River, NJ : Addison-Wesley. ISBN 0321321944.