Конверсия данных - Data conversion

Преобразование данных - это преобразование компьютерных данных из одного формата в другой. В компьютерной среде данные кодируются различными способами. Например, компьютерное оборудование построено на основе определенных стандартов, которые требуют, чтобы данные содержали, например, проверку битов четности . Точно так же операционная система основана на определенных стандартах обработки данных и файлов. Более того, каждая компьютерная программа обрабатывает данные по-разному. Всякий раз, когда любая из этих переменных изменяется, данные должны быть каким-то образом преобразованы, прежде чем они могут быть использованы другим компьютером, операционной системой или программой. Даже разные версии этих элементов обычно включают разные структуры данных. Например, изменение битов из одного формата в другой, обычно с целью обеспечения взаимодействия приложений или возможности использования новых функций, представляет собой просто преобразование данных. Преобразование данных может быть таким же простым, как преобразование текстового файла из одной системы кодировки символов в другую; или более сложные, такие как преобразование форматов файлов Office, или преобразование форматов изображений и аудио форматов .

Существует много способов преобразования данных в компьютерной среде. Это может быть незаметно, как в случае обновления до более новой версии компьютерной программы. В качестве альтернативы преобразование может потребовать обработки с использованием специальной программы преобразования, или оно может включать в себя сложный процесс прохождения промежуточных этапов или сложных процедур «экспорта» и «импорта», которые могут включать преобразование в вкладку и из вкладки. -delimited или разделенный запятыми текстовый файл. В некоторых случаях программа может распознавать несколько форматов файлов данных на этапе ввода данных, а затем также может сохранять выходные данные в нескольких различных форматах. Такую программу можно использовать для преобразования формата файла. Если исходный или целевой формат не распознается, то иногда может быть доступна третья программа, которая позволяет преобразовать в промежуточный формат, который затем можно переформатировать с использованием первой программы. Есть много возможных сценариев.

Основы информации

Перед тем, как выполнять преобразование данных, пользователь или программист должен иметь в виду некоторые основы теории вычислений и информации . Это включает:

  • Компьютер может легко отбросить информацию, но добавление информации требует усилий.
  • Компьютер может добавлять информацию только на основе правил.
  • Повышение дискретизации данных или преобразование в более многофункциональный формат не добавляет информации; он просто освобождает место для этого дополнения, что обычно и должен делать человек.
  • Данные, хранящиеся в электронном формате, можно быстро изменять и анализировать.

Например, полноцветное изображение можно легко преобразовать в оттенки серого, а обратное преобразование - кропотливый процесс. Преобразование текстового файла Unix в текстовый файл Microsoft (DOS / Windows) включает добавление символов, но это не увеличивает энтропию, поскольку оно основано на правилах; в то время как добавление информации о цвете к изображению в градациях серого нельзя выполнить программно, поскольку только человек знает, какие цвета необходимы для каждого участка изображения - нет правил, которые можно использовать для автоматизации этого процесса. Преобразование 24-битного PNG в 48-битный не добавляет к нему информации, оно только дополняет существующие значения пикселей RGB нулями, так что, например, пиксель со значением FF C3 56 становится FF00 C300 5600. преобразование позволяет изменить пиксель, чтобы он имел значение, например, FF80 C340 56A0, но само преобразование этого не делает, только дальнейшие манипуляции с изображением. Преобразование изображения или аудиофайла в формате с потерями (например, JPEG или Vorbis ) в формат без потерь (например, PNG или FLAC ) или несжатый (например, BMP или WAV ) приводит только к пустой трате места, поскольку одно и то же изображение с потерей исходной информации ( артефакты сжатия с потерями) становится целью. Изображение JPEG никогда не может быть восстановлено до качества исходного изображения, из которого оно было создано, независимо от того, сколько пользователь пытается использовать функцию «Удаление артефакта JPEG » своей программы обработки изображений.

Автоматическое восстановление информации, которая была потеряна в процессе сжатия с потерями , вероятно, потребует важных достижений в области искусственного интеллекта .

Из-за этих реалий теории вычислений и информации преобразование данных часто является сложным и подверженным ошибкам процессом, требующим помощи экспертов.

Основная конверсия

Преобразование данных может происходить непосредственно из одного формата в другой, но многие приложения, которые выполняют преобразование между несколькими форматами, используют промежуточное представление, посредством которого любой исходный формат преобразуется в его целевой. Например, можно преобразовать кириллический текст из KOI8-R в Windows-1251 с помощью таблицы поиска между двумя кодировками, но современный подход состоит в том, чтобы сначала преобразовать файл KOI8-R в Unicode, а затем в Windows-1251. Это более управляемый подход; вместо того, чтобы нуждаться в таблицах поиска для всех возможных пар кодировок символов, приложению требуется только одна таблица поиска для каждого набора символов, которую оно использует для преобразования в Unicode и обратно, тем самым уменьшая количество таблиц с сотен до нескольких десятков.

Pivotal conversion is similarly used in other areas. Office applications, when employed to convert between office file formats, use their internal, default file format as a pivot. For example, a word processor may convert an RTF file to a WordPerfect file by converting the RTF to OpenDocument and then that to WordPerfect format. An image conversion program does not convert a PCX image to PNG directly; instead, when loading the PCX image, it decodes it to a simple bitmap format for internal use in memory, and when commanded to convert to PNG, that memory image is converted to the target format. An audio converter that converts from FLAC to AAC decodes the source file to raw PCM data in memory first, and then performs the lossy AAC compression on that memory image to produce the target file.

Преобразование потерянных и неточных данных

Цель преобразования данных - сохранить все данные и как можно больше встроенной информации. Это можно сделать только в том случае, если целевой формат поддерживает те же функции и структуры данных, что и в исходном файле. Преобразование текстового редактора в простой текстовый файл обязательно влечет за собой потерю информации о форматировании, поскольку простой текстовый формат не поддерживает конструкции текстового редактора, такие как выделение слова полужирным шрифтом. По этой причине преобразование из одного формата в другой, который не поддерживает функцию, которая важна для пользователя, выполняется редко, хотя это может быть необходимо для взаимодействия, например, преобразование файла из одной версии Microsoft Word в более раннюю версию в разрешить передачу и использование другими пользователями, у которых на компьютере не установлена ​​такая же более поздняя версия Word.

Потеря информации может быть уменьшена путем приближения в целевом формате. Невозможно преобразовать такой символ, как ä, в ASCII , поскольку в стандарте ASCII он отсутствует, но информация может быть сохранена путем аппроксимации символа как ae . Конечно, это не оптимальное решение и может повлиять на такие операции, как поиск и копирование; и если язык делает различие между ä и ae , то это приближение действительно влечет за собой потерю информации.

Преобразование данных также может страдать неточностью, результатом преобразования между форматами, которые концептуально отличаются. WYSIWYG парадигма, сохранившаяся в текстовых процессорах и настольных издательские системы приложений, в зависимости от структурно-описательных парадигм, найденная в SGML , XML и многие приложения , полученной из них, как HTML и MathML , являются одним из примеров. Использование редактора WYSIWYG HTML объединяет две парадигмы, и в результате получаются файлы HTML с субоптимальным, если не нестандартным, кодом. В парадигме WYSIWYG двойной разрыв строки означает новый абзац, поскольку это визуальная подсказка для такой конструкции, но редактор WYSIWYG HTML обычно преобразует такую ​​последовательность в <BR> <BR>, что по своей структуре вообще не является новым абзацем. . В качестве другого примера преобразование из PDF в редактируемый формат текстового процессора является сложной задачей, потому что PDF записывает текстовую информацию, такую ​​как гравировка на камне, с каждым символом с фиксированной позицией и жестко закодированными разрывами строк, тогда как форматы текстовых процессоров допускают перекомпоновку текста. PDF не знает символа пробела - пробел между двумя буквами и пробел между двумя словами различаются только количеством. Поэтому заголовок с достаточным буквенным интервалом для эффекта, как правило , в конечном итоге с пробелами в процессорном слове файла, например ВВЕДЕНИЕ с шагом 1 ют , как введение в текстовом процессоре.

Открытые и секретные спецификации

Для успешного преобразования данных необходимо доскональное знание работы как исходного, так и целевого форматов. В случае, если спецификация формата неизвестна, для выполнения преобразования потребуется обратный инжиниринг . Обратный инжиниринг может обеспечить близкое приближение к исходным спецификациям, но все же могут возникнуть ошибки и отсутствующие функции.

Электроника

Преобразование формата данных также может происходить на физическом уровне системы электронной связи. При необходимости может быть выполнено преобразование между линейными кодами, такими как NRZ и RZ .

Смотрите также

использованная литература

Манолеску, Имя (2006). Шаблонные языки разработки программ 5 . Река Аппер Сэдл, Нью-Джерси: Аддисон-Уэсли. ISBN 0321321944.