Что такое формат файла JFIF?
Файл .jfif - это растровое изображение, сохраненное в формате JPEG File Interchange Format - оригинальный, минимальный контейнер для сжатых данных JPEG, разработанный Эриком Хэмилтоном в C-Cube Microsystems в 1992 году и позже стандартизированный как ISO/IEC 10918-5:2013.
Технически, файл .jfif и файл .jpg - это одно и то же: оба несут идентичные двоичные данные, сжатые с использованием кодирования с потерями DCT. Единственное различие - расширение файла. Файл начинается со стандартного маркера JPEG SOI (FF D8 FF), за которым следует сегмент APP0 (FF E0), содержащий ASCII-строку JFIF по смещению байта 6. Заканчивается он маркером EOI (FF D9).
Расширение .jfif чаще всего встречается в Windows, где браузеры, такие как Edge и Chrome, иногда сохраняют вставленные или загруженные изображения с расширением .jfif вместо .jpeg. Переименование файла в .jpg не меняет фактическое содержимое и восстанавливает нормическое сопоставление приложений.
Ключевые характеристики:
- Сжатие с потерями DCT с использованием блоков 8×8 пикселей с кодированием энтропии Хаффмана
- Глубина цвета 24 бита через цветовую модель YCbCr (8 бит на канал); поддерживается также 8-битное оттенки серого
- Нет альфа-канала - JFIF не может хранить прозрачность, в отличие от PNG
- Максимальный размер изображения: 65 535 × 65 535 пикселей (поля размера кадра SOF 16 бит)
- Тип MIME:
image/jpeg - Отличается от Exif - JFIF несет только минимальные метаданные APP0; камеры встраивают данные GPS, экспозиции и устройства с помощью контейнера Exif
Безопасность и защита
РИСК: LOWJFIF - это пассивный формат изображений и не может выполнять код, поэтому обычная картинка безопасна для открытия. Два предостережения: уязвимости парсера изображений исторически существовали (держите ОС/просмотрщик обновленными), и реальную опасность представляет файл, выдаваемый за 'photo.jfif.exe' - включите расширения файлов в Windows, чтобы видеть истинный тип. JFIF (в отличие от Exif) обычно не несет метаданных GPS.
Детали формата
в двух словахПрограммы, открывающие файлы JFIF
Технические подробности
глубокая спецификация| Тип формата | Растровое растровое изображение сжатое с потерями; данные JPEG на основе DCT, упакованные в контейнер JFIF |
| Сжатие | JPEG DCT - дискретное косинусное преобразование 8×8 пикселей с последующим кодированием энтропии Хаффмана; также разрешено прогрессивное сканирование DCT |
| Магические байты | FF D8 FF E0 (маркеры SOI + APP0); ASCII-строка "JFIF" по смещению байта 6; файл заканчивается FF D9 (EOI) |
| Тип MIME | image/jpeg (основной); image/pjpeg (альтернативный) |
| Глубина цвета | 24 бита (8 бит на канал, хранится как YCbCr); поддерживается также 8-битное оттенки серого |
| Цветовая модель | YCbCr (яркость + два хроматических канала); подразумевает вывод sRGB |
| Альфа-канал | Не поддерживается - у JFIF нет слоя прозрачности |
| Максимальные размеры | 65 535 × 65 535 пикселей, ограничены полями размера кадра SOF 16 бит |
| Порядок байтов | Big-endian (сетевой порядок байтов для всех многобайтовых значений маркеров) |
| Поле версии JFIF | Хранится в сегменте APP0; значения 1.00, 1.01 или 1.02 |
| Кодирование плотности | Поле единиц плотности APP0 хранит пиксели на дюйм, пиксели на сантиметр или только соотношение сторон (единицы = 0) |
| Модель метаданных | Только минимальный JFIF APP0 - без метаданных камеры Exif или ICC цветового профиля в базовой форме |
| Связь с .jpg / .jpeg | Идентичное двоичное содержимое; расширение - единственное различие - переименование .jfif в .jpg не меняет ни одного байта в файле |
| Типичный размер файла | 50 КБ - 8 МБ, в зависимости от разрешения изображения и настройки качества |
| Выпущен | 1992 (JFIF 1.02, the original JPEG interchange container) |
| Последняя версия | JFIF 1.02 (1992); standardized as ISO/IEC 10918-5:2013 |
| Открыть стандартное | Да · без роялти |
| Спецификация | www.itu.int |
Конвертации JFIF
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах JFIF.