Является ли тип MIME 'image/jpg' таким же, как 'image/jpeg'?

Довольно простой вопрос, но он не может найти его нигде в Интернете. Я пытаюсь сделать программу, которая в зависимости от типа файла даст мне расширение.

Ответ 2

Для тех, кому это может помочь, я использую этот список в качестве справочного материала для определения своего типа контента, когда мне приходится иметь дело с изображениями в моем приложении.

Это говорит о том, что расширение jpg может быть объявлено с Content-type: image/jpeg

Для типа содержимого нет атрибута image/jpg.

Ответ 3

tl;dr этозависит от того, кого вы спрашиваете

В целом, похоже, что MIME-тип отсутствует image/jpg. Однако на практике почти все программное обеспечение прекрасно обрабатывает файлы изображений с именем "*.jpg". Этот конкретный вопрос сбивает с толку, поскольку различная ассоциация расширения имени файла, связанного с типом MIME, зависит от того, какая организация создала таблицу расширений имен файлов для типов MIME. Другими словами, расширение имени файла .jpg может быть много разных вещей.

Например, вот 3 "полных списка", которые различаются в зависимости от различных расширений имен файлов в формате JPEG и связанных с ними типов MIME.

Эти "полные списки" не имеют типа MIME image/jpg! Но для MIME-типа image/jpeg эти списки имеют различные расширения имен файлов (.jpeg, .jpg,…).
Кроме того, существуют различные типы форматов изображений JPEG (например, прогрессивный формат изображений JPEG, JPEG 2000 и т.д.), Которые могут или не могут перекрываться в расширении имени файла и объявленном типе MIME. Это добавляет к общей путанице.
Еще одна запутанная вещь: это "mime", или "MIME", или "MIME-тип", или "mime-тип", или "mime/type", или "media type"⁉ 😧

Похоже, что несколько организаций публикуют свое собственное расширение файла и документ отображения типов MIME ("полные списки").
Самый официальный кажущийся документ IANA на удивление неадекватен; ничего не зарегистрировано для типа изображения .jpeg, а .JPEG известен только как тип видео. Список IANA, кажется, обслуживает специфичные для компании форматы jpeg (например, vnd.sealedmedia.softseal.jpg).
Из-за этого трудно найти общепринятый канонический документ для справки.



Смежный вопрос "Список ВСЕХ MimeTypes на планете, сопоставленных с расширениями файлов?".

Ответ 4

Здесь важно отметить, что тип MIME не совпадает с расширением файла. Иногда, однако, они имеют одинаковую ценность.

https://www.iana.org/assignments/media-types/media-types.xhtml включает в себя список зарегистрированных типов Mime, хотя ничто не мешает вам создать свой собственный, если вы одновременно находитесь на отправляющей и принимающая сторона. Вот где Microsoft приходит к картине.

Там, где есть большая путаница, это тот факт, что операционные системы имеют свой собственный способ идентификации типов файлов, используя хвостовую часть имени файла, называемую расширением. В современных операционных системах полное имя представляет собой одну длинную строку, но в более примитивных операционных системах оно рассматривается как отдельный атрибут.

Операционная система, которая вызвала путаницу, - MSDOS, расширение которой ограничивалось 3 символами. Это ограничение до сих пор наследуется в устройствах, таких как SD-карты, которые до сих пор хранят данные таким же образом.

Одним из побочных эффектов этого ограничения является то, что некоторые расширения файлов, такие как .gif соответствуют их Mime-типу, image/gif, тогда как другие скомпрометированы. Это включает в себя image/jpeg, расширение которого сокращено до .jpg. Даже в современной Windows, где ограничение снято, Microsoft никогда не отпускает прошлое, и поэтому расширение файла по-прежнему является сокращенной версией.

Учитывая, что это:

  1. Расширения файлов не являются типами файлов
  2. Исторически, некоторые операционные системы имели серьезные ограничения имени файла
  3. Некоторые операционные системы будут просто создавать собственные правила

Краткий ответ:

  • Технически нет такой вещи, как image/jpg, поэтому ответ таков: это не то же самое, что image/jpeg
  • Это не помешает некоторым операционным системам и программному обеспечению воспринимать его так, как если бы оно было