Преобразование данных - это преобразование компьютерных данных из одного формата в другой. В компьютерной среде данные кодируются различными способами. Например, компьютерное оборудование построено на основе определенных стандартов, которые требуют, чтобы данные содержали, например, проверку битов четности . Аналогично операционная системаоснован на определенных стандартах обработки данных и файлов. Кроме того, каждая компьютерная программа обрабатывает данные по-разному. Каждый раз, когда любая из этих переменных изменяется, данные должны быть каким-то образом преобразованы, прежде чем они могут быть использованы другим компьютером, операционной системой или программой. Даже разные версии этих элементов обычно включают разные структуры данных. Например, изменение битов из одного формата в другой, обычно с целью обеспечения взаимодействия приложений или возможности использования новых функций, представляет собой просто преобразование данных. Преобразование данных может быть таким же простым, как преобразование текстового файла из одной системы кодировки символов в другую; или более сложные, такие как преобразование форматов файлов 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 » своей программы обработки изображений.
Автоматическое восстановление информации, которая была потеряна в процессе сжатия с потерями , вероятно, потребует важных достижений в области искусственного интеллекта .
Из-за этих реалий теории вычислений и информации преобразование данных часто является сложным и подверженным ошибкам процессом, требующим помощи экспертов.
Основная конверсия
Преобразование данных может происходить непосредственно из одного формата в другой, но многие приложения, которые выполняют преобразование между несколькими форматами, используют промежуточное представление, посредством которого любой исходный формат преобразуется в целевой. [1] Например, можно преобразовать кириллический текст из KOI8-R в Windows-1251 с помощью таблицы поиска между двумя кодировками, но современный подход состоит в том, чтобы сначала преобразовать файл KOI8-R в Unicode, а затем в Windows. -1251. Это более управляемый подход; вместо того, чтобы нуждаться в таблицах поиска для всех возможных пар кодировок символов, приложению требуется только одна таблица поиска для каждого набора символов, которую оно использует для преобразования в Unicode и из него, тем самым уменьшая количество таблиц с сотен до нескольких десятков. [ необходима цитата ]
Сводное преобразование аналогично используется в других областях. Приложения Office, когда они используются для преобразования между форматами офисных файлов, используют свой внутренний формат файла по умолчанию в качестве основы. Например, текстовый процессор может преобразовать файл RTF в файл WordPerfect , преобразовав RTF в OpenDocument, а затем в формат WordPerfect. Программа преобразования изображений не преобразует изображение PCX в PNG напрямую; вместо этого при загрузке изображения PCX он декодирует его в простой растровый формат для внутреннего использования в памяти, а при получении команды на преобразование в PNG это изображение памяти преобразуется в целевой формат. Аудиоконвертер, который преобразует FLAC в AAC, сначала декодирует исходный файл в необработанные данные PCM в памяти, а затем выполняет сжатие AAC с потерями для этого образа памяти для создания целевого файла.
Утерянное и неточное преобразование данных
Цель преобразования данных - сохранить все данные и как можно больше встроенной информации. Это можно сделать только в том случае, если целевой формат поддерживает те же функции и структуры данных, что и в исходном файле. Преобразование текстового редактора в простой текстовый файл обязательно влечет за собой потерю информации о форматировании, поскольку простой текстовый формат не поддерживает конструкции текстового редактора, такие как выделение слова полужирным шрифтом. По этой причине преобразование из одного формата в другой, который не поддерживает функцию, важную для пользователя, выполняется редко, хотя это может быть необходимо для взаимодействия, например, преобразование файла из одной версии Microsoft Word в более раннюю версию в разрешить передачу и использование другими пользователями, у которых на компьютере не установлена такая же более поздняя версия Word.
Потеря информации может быть уменьшена путем приближения в целевом формате. Невозможно преобразовать такой символ, как ä, в ASCII , поскольку в стандарте ASCII он отсутствует, но информация может быть сохранена путем аппроксимации символа как ae . Конечно, это не оптимальное решение и может повлиять на такие операции, как поиск и копирование; и если язык делает различие между ä и ae , то это приближение действительно влечет за собой потерю информации.
Преобразование данных также может страдать неточностью, результатом преобразования между форматами, которые концептуально различаются. WYSIWYG парадигма, сохранившаяся в текстовых процессорах и настольных издательские системы приложений, в зависимости от структурно-описательных парадигм, найденная в SGML , XML и многие приложения , полученной из них, как HTML и MathML , являются одним из примеров. Использование редактора WYSIWYG HTML объединяет две парадигмы, и в результате получаются файлы HTML с субоптимальным, если не нестандартным, кодом. В парадигме WYSIWYG двойной разрыв строки означает новый абзац, поскольку это визуальная подсказка для такой конструкции, но редактор WYSIWYG HTML обычно преобразует такую последовательность в
, что по своей структуре вообще не является новым абзацем. . В качестве другого примера, преобразование из PDF в редактируемый формат текстового процессора - сложная задача, потому что PDF записывает текстовую информацию, такую как гравировка на камне, с каждым символом с фиксированной позицией и жестко закодированными переносами строк, тогда как форматы текстовых процессоров позволяют переформатировать текст. PDF не знает символа пробела - пробел между двумя буквами и пробел между двумя словами различаются только количеством. Поэтому заголовок с достаточным буквенным интервалом для эффекта, как правило , в конечном итоге с пробелами в процессорном слове файла, например ВВЕДЕНИЕ с шагом 1 ют , как введение в текстовом процессоре.
Открытые и секретные спецификации
Для успешного преобразования данных необходимо доскональное знание работы как исходного, так и целевого форматов. В случае, если спецификация формата неизвестна, для выполнения преобразования потребуется обратный инжиниринг . Обратный инжиниринг может обеспечить близкое приближение к исходным спецификациям, но все же могут возникнуть ошибки и отсутствующие функции.
Электроника
Преобразование формата данных также может происходить на физическом уровне системы электронной связи. При необходимости может быть выполнено преобразование между линейными кодами, такими как NRZ и RZ .
Смотрите также
- Кодировка символов
- Сравнение языков программирования (базовые инструкции) # Преобразование данных
- Перенос данных
- Преобразование данных
- Обработка данных
- Транскодирование
- Распределенная архитектура управления данными (DDM)
- Преобразование кода (вычисления)
- Перевод из источника в источник
- Уровень представления
Рекомендации
- ^ Драгош-Антон Manolescu; Маркус Фельтер; Джеймс Ноубл (2006). Шаблонные языки разработки программ 5 . Эддисон-Уэсли Профессионал. С. 271–. ISBN 978-0-321-32194-7.
Манолеску, Имя (2006). Шаблонные языки разработки программ 5 . Река Аппер Сэдл, Нью-Джерси: Аддисон-Уэсли. ISBN 0321321944.