JFIF — это JPEG: что меняет расширение .jfif
Неудобное расширение — единственное неудобное здесь. Файл .jfif хранит обычный JPEG, и любая программа, читающая JPEG, читает его; конвертация в PNG не сделает картинку резче, потому что заострять уже нечего.
JFIF расшифровывается как JPEG File Interchange Format — это спецификация начала 1990-х, описывающая, как обернуть поток данных JPEG, чтобы разные программы одинаково понимали, что означают пиксели. Обёртка — небольшой блок-маркер, маркер APP0, в начале файла, где записано соотношение сторон пикселя и иногда миниатюра. Всё после него — обычный JPEG.
Откуда берётся расширение
Расширение .jfif — привычка эпохи Windows. Некоторые камеры, некоторые телефоны и некоторые программы Windows сохраняют JPEG с ним, и часть из них не покажет миниатюру для того же файла, если переименовать его в .jpg. Байты не меняются, меняется только имя. Поэтому браузер прекрасно открывает файл .jfif, если перетащить его во вкладку, и поэтому же путаются операционные системы, полагающиеся на расширение.
Что на самом деле несёт блок-маркер
| Маркер | Что он хранит |
|---|---|
APP0 (JFIF) | Версию, единицу плотности (dpi или точек на см) и соотношение сторон пикселя. |
| APP0 (другой) | Блок от конкретного производителя — некоторые камеры пишут здесь своё. |
APP1 (Exif) | Метаданные камеры: экспозицию, дату, ориентацию, иногда GPS. |
| Всё после | Поток данных JPEG: таблицы квантования, таблицы Хаффмана и сжатое изображение. |
Этому инструменту не нужно читать тот блок, чтобы конвертировать файл. .jfif стоит в том же списке принимаемых, что .jpg и .jpeg, поэтому конвертер считает все четыре расширения одним форматом. Единственное место, где маркер изучается, — просмотрщик метаданных, который читает его и сообщает что-то вроде JFIF 1.02, 72 dpi — и который сохраняет маркер, когда снимает другие метаданные, потому что блок JFIF описывает, как толковать пиксели.
Что конвертация в PNG может и чего не может
JPEG — формат с потерями: при сохранении часть деталей была выброшена, и нигде больше она не хранится. Декодирование файла возвращает ровно те пиксели, что уцелели. Запись этих пикселей в PNG сохраняет их без дальнейших потерь — поэтому PNG выглядит так же, как JPEG, и часто в несколько раз больше, потому что PNG отказывается притуплять что-либо ради размера.
- Конвертация не заостряет картинку и не возвращает детали.
- Она не удаляет артефакты сжатия; она сохраняет их в точности.
- Она действительно убирает блок Exif, потому что PNG его не несёт и в новый файл ничего не копируется.
- Она останавливает дальнейший распад: каждое пересохранение в JPEG теряло бы ещё немного, а PNG — нет.
Последний пункт — настоящая причина конвертировать. Если вы собираетесь править JPEG, работайте с PNG; если нужно только хранить, JPEG уже меньше.
Ограничения
- 64 MB на файл — сверх этого инструмент отказывает, прежде чем что-либо декодировать.
- Ни одна сторона результата не может превышать 20,000 px.
- Конвертация идёт в этой вкладке; файл никогда не загружается.
- JPEG, JPG, JFIF и JPE принимаются как вход.
Коротко
.jfif— это JPEG с небольшим блоком заголовка впереди.- Конвертация его в PNG сохраняет каждый уцелевший пиксель и ничего не добавляет.
- Картинка не станет резче, потому что детали уже были отброшены.
- Файл никогда не покидает ваше устройство.
Вопросы
Сделает ли конвертация JFIF в PNG изображение резче?
Нет. Резкость была определена тогда, когда записывался JPEG, и декодирование не может выдумать выброшенные детали. PNG верно сохраняет декодированный результат — он не отменяет первое сжатие.
Файл .jfif — это просто переименованный .jpg?
По сути да. Это поток данных JPEG с блоком заголовка JFIF впереди и расширением, которое предпочитает часть программ. Браузеры и редакторы читают его как JPEG; необычно только расширение.
Почему PNG намного больше JFIF?
Потому что JPEG сжимает с потерями, а PNG — нет. PNG хранит те же пиксели без дальнейшего сжатия, поэтому фотография, сохранённая как PNG, часто в несколько раз больше.