Перейти к содержимому

Раздел каталога

Данные: форматы и направления конвертации

Модель данных определяет, что переносится точно, а что — с потерей структуры.

3 формата и 10 направлений конвертации

Как устроены эти форматы

Различие между форматами обмена лежит в модели, а не в синтаксисе. JSON описывает дерево из объектов и массивов с пятью типами значений: строка, число, логическое, null и вложенная структура. YAML описывает то же дерево, добавляя комментарии, якоря и ссылки на общие фрагменты. XML — дерево элементов с атрибутами, пространствами имён и внешней схемой. CSV — двумерная таблица без типов.

Отсюда пределы преобразования. JSON и YAML переводятся друг в друга взаимно однозначно с точностью до комментариев и якорей. XML → JSON теряет различие между атрибутом и дочерним элементом, порядок узлов и пространства имён, если не задано соглашение об именовании. Любая вложенная структура → CSV требует разворачивания уровней в колонки; глубина больше одного уровня восстановлению не подлежит.

Программный обмен

JSON по RFC 8259: кодировка UTF-8, числа в двоичной форме двойной точности, порядок ключей объекта незначим. Разбор входит в стандартную библиотеку большинства языков, ограничения описываются отдельной схемой.

Конфигурации

YAML 1.2: значащие отступы пробелами, табуляция запрещена, комментарии со знака решётки, повторяющиеся фрагменты выносятся якорями. Всякий корректный JSON является корректным YAML; обратное неверно.

Схемы и подписи

XML: пространства имён, атрибуты, проверка по XSD, каноническая форма для электронной подписи. На нём построены офисные форматы OOXML и ODF, а также обмен с государственными информационными системами.

Направления для данных, упорядоченные по частоте обращений к странице.

Вопросы по работе сервиса: данных

Как понять, будет ли файл перекодирован или просто перепакован?

По времени работы и по паре форматов. Смена контейнера при совместимых потоках (MKV → MP4 с H.264 внутри, WAV → FLAC, ZIP → 7Z) обрабатывается со скоростью чтения диска — секунды даже на гигабайтных файлах. Перекодирование ограничено производительностью кодировщика: минута исходного видео в 1080p занимает от нескольких секунд до минуты машинного времени в зависимости от CRF и пресета.

Почему после конвертации файл стал больше исходного?

Так ведёт себя переход из формата с потерями в формат без потерь. JPEG на 900 КБ после распаковки — это 24 бита на пиксель сырых данных; PNG сохранит их полностью и займёт 5–8 МБ. Новой информации в файле при этом не появляется: артефакты предыдущего сжатия записываются с той же точностью, что и полезное изображение.

Какое значение качества выбрать, чтобы не увидеть разницу?

Для JPEG рабочий диапазон — 82–92: ниже 75 на однотонных участках проступает блочность 8×8 пикселей, выше 95 файл растёт быстрее, чем улучшается изображение. Для H.264 то же место занимает CRF 18–23, где 18 практически неотличим от источника. Для MP3 порог прозрачности для большинства слушателей лежит в районе 192 кбит/с при кодировании VBR.

Сохранятся ли цветовой профиль и глубина цвета?

Профиль ICC переносится, если целевой формат его поддерживает: JPEG, PNG, TIFF и WebP умеют, BMP — нет. Глубина ограничивается возможностями формата: 10-битный HEIC при переводе в JPEG сводится к 8 битам на канал, и на плавных градиентах может проступить полосатость. Файлы в CMYK пересчитываются в sRGB и на экране выглядят иначе, чем на бумаге.

Что происходит с несколькими файлами в одном задании?

Направления, помеченные пакетной обработкой, принимают набор файлов и применяют к ним одинаковые параметры. Файлы обрабатываются последовательно, а результат доступен и по одному, и общим ZIP-архивом. Видео и другие тяжёлые преобразования пакетную обработку не поддерживают: одно задание заняло бы очередь на десятки минут.

Почему направление может быть недоступно?

Две причины. Первая — движок не установлен или временно не отвечает: страница направления остаётся, но кнопка запуска выключена. Вторая — преобразование не имеет корректной реализации: обратное восстановление RAW из JPEG, снятие DRM с книги, распознавание текста на сканах. Такие направления не включаются в реестр, чтобы не выдавать за конвертацию переупаковку без результата.