web-dev-qa-db-fra.com

Pourquoi est-il possible de convertir un fichier simplement en renommant son extension?

Lorsque vous renommez des fichiers avec une extension différente, la plupart du temps, cela ne fonctionne pas. Cependant, si vous avez un fichier .png, vous pouvez renommer image.png en image.jpeg ou image.gif et il sera automatiquement converti en un autre format et fonctionnera parfaitement. Existe-t-il une similitude entre ces formats qui permet de le faire? J'ai remarqué cela il y a quelques années et je me suis intéressé lorsque j'essayais de convertir un fichier .dvi en un fichier .pdf; il suffit de renommer cela a fonctionné!

12
asymptotically

C'est ce qui se passe probablement. L'application désignée pour ouvrir les fichiers avec les types de fichiers que vous avez mentionnés est la même pour tous. .gif, .jpg, .png: ils sont tous gérés par EOG (Eye Of Gnome de GNOME) . Je soupçonne que cette application ne détermine pas le type de fichier en fonction de l'extension, mais recherche plutôt le nombre magique .

Notez que le comportement de EOG peut très bien être exceptionnel, et prenez garde qu'aucune conversion réelle n'est effectuée. C'est juste que les applications Linux ont tendance à s'appuyer sur des méthodes de détection différentes des extensions de fichiers, bien que de nombreux bureaux modernes recherchent en fait l'extension de fichier pour déterminer quelle application ouvrir, car cette méthode est probablement plus rapide.

Tout cela peut s'appliquer à Ubuntu, Windows est une histoire complètement différente. Explorer utilise par défaut un comportement qui coupe l’extension de fichier du nom de fichier. De cette façon, un fichier nommé "document.pdf" apparaîtra sous la forme "document" et son nom renommé "document.dvi" sera en réalité traité comme "document.dvi.pdf". Les virus exploitent parfois cette "fonctionnalité" en faisant croire à l'utilisateur qu'ils ouvrent un fichier .jpg, alors qu'en réalité, ils sont amenés à exécuter un exe malveillant!

Pour être vraiment sûr des types de fichiers, il existe une commande appelée file qui affiche des informations détaillées sur les fichiers.

D'après mon expérience personnelle, je peux dire que, du moins sur mon système, EOG ne peut être trompé en reconnaissant un fichier d'image renommé. Vous devez faire quelque chose de différent de ce que je fais.

20
Cumulus007

Renommer les fichiers .png en .jpeg et .gif fonctionne parce que le programme associé et attribué pour ouvrir ces fichiers est identique, et quand il voit les extensions qu’il peut ouvrir, il les ouvre simplement, car ce sont tous des fichiers image et le programme peut les ouvrir. .

Le programme par défaut est EOG (Eye of Gnome) comme l’a dit un autre répondant. Même si vous supprimez l'extension, elle peut toujours les ouvrir.

En ce qui concerne les dvi_ et pdf, les deux types de fichiers sont à nouveau ouverts par le même programme, appelé evince. Donc, la même chose se passe là-bas.

9
Anwar