Почему можно конвертировать файл, просто переименовав его расширение?

12

Когда вы переименовываете файлы с другим расширением, в большинстве случаев это не работает. Но если у вас есть файл .png, вы можете просто переименовать его image.pngв image.jpegили image.gif, и он автоматически преобразуется в другой формат и отлично работает. Есть ли сходство между этими форматами, которое позволяет это сделать? Я заметил это несколько лет назад и заинтересовался, когда пытался преобразовать .dviфайл в .pdfфайл; просто переименование это сработало!

notablytipsy
источник
pngчтобы jpegне работает в моей системе. Формат совершенно другой. Вы уверены, что это происходит в Ubuntu! : O
Web-E
1
Нет, между gif и jpeg нет абсолютно никакого сходства. Вы не можете просто переименовать любой из файлов для их преобразования, кроме как с помощью приложения, которое делает это за вас. Например, сохранение файла gif в формате jpeg во что-то вроде Gimp преобразует его; переименовывать его в командной строке не буду.
Марти Фрид
Я переименовываю из командной строки, и да, это работает. Я использую только Ubuntu, и я помню, что он работает даже на Windows.
Примечательно, что
1
НЕТ, он не конвертируется простым переименованием, так как .jpg .jpeg .pngимеет тот же просмотрщик изображений по умолчанию, он открывает их. Попробуйте изменить Просмотр по умолчанию для .jpg or .pngи попробуйте открыть их, вы получите разницу.
Atenz
2
Читая это несколько месяцев спустя, я чувствую себя очень глупо, задавая этот вопрос.
Примечательно, что

Ответы:

20

Это то, что, вероятно, происходит. Приложение, предназначенное для открытия файлов с указанными вами типами файлов, одинаково для всех. .gif, .jpg, .png: все они обрабатываются EOG (Глаз GNOME GNOME) . Я подозреваю, что это приложение не определяет тип файла на основе расширения, скорее оно ищет магическое число .

Обратите внимание, что поведение EOG вполне может быть исключительным, и также имейте в виду, что фактическое преобразование не выполняется. Просто приложения Linux, как правило, используют методы обнаружения, отличные от расширений файлов, хотя многие современные рабочие столы действительно ищут расширение файла, чтобы определить, какое приложение открыть, поскольку этот метод, вероятно, быстрее.

Это все может относиться к Ubuntu, Windows - это совсем другая история. По умолчанию Explorer применяет поведение, которое отключает расширение файла от имени файла. Таким образом, файл с именем «document.pdf» будет отображаться как «документ», а переименование его в «document.dvi» будет фактически обрабатываться как «document.dvi.pdf». Вирусы иногда используют эту «особенность», заставляя пользователя поверить, что они открывают .jpg, в то время как на самом деле их обманывают в запуске вредоносного exe!

Чтобы быть уверенным в типах файлов, есть команда, fileкоторая показывает подробную информацию о файле.

Исходя из моего личного опыта, я могу сказать, что, по крайней мере, в моей системе, EOG не может быть обманут в распознавании переименованного файла изображения. Вы должны делать что-то другое, чем я.

Cumulus007
источник
Это работало даже на Windows, и я думаю, что это преобразовано. Однажды, я попробовав преобразовать bmpк , jpegчтобы уменьшить размер файла, а просто переименование работал. И до того, как я сделал EOG приложением по умолчанию, я использовал Gwenview (KDE). И вообще, приложение по умолчанию не должно влиять на управление файлами, не так ли?
Примечательно, что
Я использовал Windows XP, и мне всегда показывали тип файла. Во всяком случае, я думаю, это имеет смысл. Благодарность! И я не знал об этой функции Windows для сокращения расширений файлов ... Хорошо, что я сейчас пользуюсь Ubuntu;) И спасибо за информацию о магических числах. Я знал, что они были, но не знал, что их называли «магическими числами»
заметили
ни Windows, ни Ubuntu не конвертируют файлы, просто переименовывая их - слишком умная программа просто полностью игнорирует расширение при загрузке файла.
ImaginaryRobots
9

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

Программа по умолчанию - EOG (Eye of Gnome), как говорит другой отвечающий. Даже если вы удалите расширение, оно все равно может открыть их.

Что касается dviи pdf, снова оба типа файлов открываются одной и той же программой, которая называется evince. То же самое происходит и там.

Анвар
источник