stringtranslate.com

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

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

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

Информационные основы

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

Например, изображение с полноцветным изображением можно легко преобразовать в оттенки серого, тогда как обратное преобразование представляет собой трудоемкий процесс. Преобразование текстового файла 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, используемые для преобразования между форматами файлов 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 . Использование HTML-редактора WYSIWYG объединяет две парадигмы, и в результате получаются HTML-файлы с неоптимальным, если не нестандартным, кодом. В парадигме WYSIWYG двойной разрыв строки означает новый абзац, поскольку это визуальный сигнал для такой конструкции, но HTML-редактор WYSIWYG обычно преобразует такую ​​последовательность в <BR><BR>, который структурно вообще не является новым абзацем. . Другой пример: преобразование PDF в редактируемый формат текстового процессора — непростая задача, поскольку PDF записывает текстовую информацию, как гравюра на камне, при этом каждому символу присваивается фиксированная позиция, а разрывы строк жестко закодированы, тогда как форматы текстовых процессоров допускают перекомпоновку текста. PDF не знает символа пробела между словами — пробел между двумя буквами и пробел между двумя словами различаются только количеством. Таким образом, заголовок с достаточным интервалом между буквами для эффекта обычно заканчивается пробелами в файле текстового процессора, например ВВЕДЕНИЕ с интервалом в 1 em как ВВЕДЕНИЕ в текстовом процессоре.

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

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

Электроника

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

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

Рекомендации

  1. ^ Драгош-Антон Манолеску; Маркус Фельтер; Джеймс Ноубл (2006). Языки шаблонов проектирования программ 5. Addison-Wesley Professional. стр. 271–. ISBN 978-0-321-32194-7.

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