¿Por qué es posible convertir un archivo simplemente cambiando el nombre de su extensión?

12

Cuando cambia el nombre de los archivos con una extensión diferente, la mayoría de las veces no funciona. Pero, si tiene un archivo .png, puede cambiarle el nombre image.pnga image.jpego image.gif, y se convierte automáticamente al otro formato y funciona perfectamente bien. ¿Hay alguna similitud entre estos formatos que permita hacer esto? Me di cuenta de esto hace unos años y me interesé cuando intentaba convertir un .dviarchivo en un .pdfarchivo; solo renombrarlo funcionó!

notablemente
fuente
pnga jpegno funciona en mi sistema. El formato es completamente diferente. ¿Estás seguro de que eso sucede en ubuntu! : O
Web-E
1
No, no hay absolutamente ninguna similitud entre gif y jpeg. No puede simplemente cambiar el nombre de ninguno de los archivos para convertirlos, excepto mediante el uso de una aplicación que lo haga por usted. Por ejemplo, guardar un archivo gif como jpeg en algo como Gimp lo convertirá; renombrarlo en una línea de comando no lo hará.
Marty Fried
Estoy cambiando el nombre de la línea de comando, y sí, funciona. Solo uso Ubuntu, y recuerdo que funciona incluso en Windows.
notablemente tipips
1
NO, no se convierte simplemente cambiando el nombre, ya que .jpg .jpeg .pngtiene el mismo visor de imágenes predeterminado, los abre. Intente cambiar el Visor predeterminado .jpg or .pnge intente abrirlos, obtendrá la diferencia.
atenz
2
Leyendo esto unos meses después, me siento muy tonto haciendo esta pregunta.
notablemente el

Respuestas:

20

Esto es lo que probablemente pasa. La aplicación designada para abrir archivos con los tipos de archivo que menciona, es la misma en todos esos. .gif, .jpg, .png: todos estos son manejados por EOG (GNOME's Eye Of Gnome) . Sospecho que esta aplicación no determina el tipo de archivo en función de la extensión, sino que busca el número mágico .

Tenga en cuenta que el comportamiento de EOG puede muy bien ser excepcional, y también tenga en cuenta que no se realiza una conversión real. Es solo que las aplicaciones de Linux tienden a depender de métodos de detección diferentes a las extensiones de archivo, aunque muchos escritorios modernos realmente buscan la extensión de archivo para determinar qué aplicación abrir, ya que este método es probablemente más rápido.

Todo esto puede aplicarse a Ubuntu, Windows es una historia completamente diferente. Explorer practica un comportamiento por defecto que corta la extensión del archivo del nombre del archivo. De esta manera, un archivo llamado "document.pdf" se mostrará como "document", y renombrándolo a "document.dvi" se procesará como "document.dvi.pdf". Los virus a veces explotan esta "característica" al hacer que el usuario crea que están abriendo un .jpg, ¡mientras que en realidad están siendo engañados para ejecutar un exe malicioso!

Para estar realmente seguro sobre los tipos de archivo, hay un comando llamado fileque muestra información detallada del archivo.

Desde mi experiencia personal, puedo decir que, al menos en mi sistema, no se puede engañar a EOG para que reconozca un archivo de imagen renombrado. Debes estar haciendo algo diferente a lo que yo hago.

Cumulus007
fuente
Esto funcionó incluso en Windows, y creo que se convierte. Una vez, estaba intentando convertir bmpa jpegpara reducir el tamaño del archivo, y simplemente renombrarlo funcionó. Y antes de hacer EOG la aplicación predeterminada, estaba usando Gwenview (KDE). Y de todos modos, la aplicación predeterminada no debería tener ningún efecto en la gestión de archivos, ¿verdad?
notablemente tipips
Utilicé Windows XP y siempre tuve el tipo de archivo que se muestra. De todos modos, supongo que tiene sentido. ¡Gracias! Y no sabía sobre esa característica de Windows de cortar extensiones de archivo ... Lo bueno es que uso Ubuntu ahora;) Y gracias por la información sobre números mágicos. Sabía lo que eran, pero no sabía que se llamaban "números mágicos"
especialmente el
ni Windows ni ubuntu convierten archivos con solo renombrarlos: un programa demasiado inteligente simplemente ignora la extensión por completo al cargar el archivo.
ImaginaryRobots
9

Cambiar el nombre de los .pngarchivos .jpegy .giffunciona porque el programa asociado y asignado para abrir esos archivos es el mismo, y cuando ve las extensiones que puede abrir, simplemente las abre, porque esos son todos archivos de imagen y el programa puede abrirlos.

El programa predeterminado es EOG (Eye of Gnome) como dice otro respondedor. Incluso si elimina la extensión, aún puede abrirlos.

En cuanto a dviy pdf, nuevamente, ambos tipos de archivos son abiertos por el mismo programa, que se llama evince. Entonces, lo mismo sucede allí.

Anwar
fuente