Por que é possível converter um arquivo apenas renomeando sua extensão?

12

Quando você renomeia arquivos com uma extensão diferente, na maioria das vezes ele não funciona. Mas, se você tiver um arquivo .png, poderá renomear image.pngpara image.jpegou image.gif, e ele será convertido automaticamente para outro formato e funcionará perfeitamente. Existe alguma semelhança entre esses formatos que permite que isso seja feito? Notei isso há alguns anos e fiquei interessado quando estava tentando converter um .dviarquivo em um .pdfarquivo; apenas renomeá-lo funcionou!

notavelmente
fonte
pngpara jpegnão funciona no meu sistema. O formato é completamente diferente. Você tem certeza que isso acontece no ubuntu !! : O
Web-E
1
Não, não há absolutamente nenhuma semelhança entre gif e jpeg. Você não pode simplesmente renomear nenhum dos arquivos para convertê-los, exceto usando um aplicativo que faça isso por você. Por exemplo, salvar um arquivo gif como jpeg em algo como o Gimp o converterá; renomeá-lo em uma linha de comando não.
Marty Fried
Estou renomeando a partir da linha de comando e, sim, funciona. Estou usando apenas o Ubuntu e lembro-me de funcionar mesmo no Windows.
Notáveltipsy
1
NÃO, ele não é convertido simplesmente renomeando, pois .jpg .jpeg .pngpossui o mesmo Visualizador de imagem padrão, ele os abre. Tente alterar o Visualizador padrão para .jpg or .pnge tente abri-los, você perceberá a diferença.
atenz
2
Lendo isso alguns meses depois, me sinto muito tolo ao fazer esta pergunta.
notablytipsy

Respostas:

20

Isto é o que provavelmente acontece. O aplicativo designado para abrir arquivos com os tipos mencionados, é o mesmo em todos eles. .gif, .jpg, .png: tudo isso é tratado pelo EOG (Eye Of Gnome do GNOME) . Eu suspeito que este aplicativo não determine o tipo de arquivo com base na extensão, mas procure o número mágico .

Observe que o comportamento do EOG pode muito bem ser excepcional e também tenha cuidado para que nenhuma conversão real seja feita. É que os aplicativos Linux tendem a confiar em métodos de detecção diferentes das extensões de arquivo, embora muitos desktops modernos realmente procurem a extensão de arquivo para determinar qual aplicativo abrir, pois esse método é provavelmente mais rápido.

Isso tudo pode se aplicar ao Ubuntu, o Windows é uma história completamente diferente. O Explorer pratica um comportamento por padrão que corta a extensão do arquivo do nome do arquivo. Dessa forma, um arquivo chamado "document.pdf" será exibido como "document" e renomeado para "document.dvi" será processado como "document.dvi.pdf". Às vezes, os vírus exploram esse "recurso" fazendo o usuário acreditar que estão abrindo um .jpg, enquanto na realidade estão sendo enganados a executar um exe malicioso!

Para ter certeza sobre os tipos de arquivos, existe um comando chamado fileque mostra informações detalhadas sobre o arquivo.

Pela minha experiência pessoal, posso dizer que, pelo menos no meu sistema, o EOG não pode ser levado a reconhecer um arquivo de imagem renomeado. Você deve estar fazendo algo diferente do que eu.

Cumulus007
fonte
Isso funcionou mesmo no Windows e acho que é convertido. Uma vez, eu estava tentando a converter um bmppara jpegreduzir o tamanho do arquivo, e apenas renomeá-lo funcionou. E antes de tornar o EOG o aplicativo padrão, eu estava usando o Gwenview (KDE). De qualquer forma, o aplicativo padrão não deve ter nenhum efeito no gerenciamento de arquivos, deveria?
Notáveltipsy
Eu usei o Windows XP e sempre tive o tipo de arquivo mostrado. Enfim, acho que isso faz sentido. Obrigado! E eu não sabia sobre o recurso do Windows de cortar extensões de arquivo ... Ainda bem que eu uso o Ubuntu agora;) E obrigado pelas informações sobre números mágicos. Eu sabia o que eram, mas não sabia que eles eram chamados de "números mágicos"
notablytipsy
nem o Windows nem o ubuntu convertem arquivos apenas renomeando-os - um programa excessivamente inteligente ignora completamente a extensão ao carregar o arquivo.
ImaginaryRobots
9

Renomear .pngarquivos para .jpege .giffuncionar porque o programa associado e designado para abrir esses arquivos é o mesmo e, quando vê as extensões que podem ser abertas, simplesmente as abre, porque esses são todos os arquivos de imagem e o programa pode abri-los.

O programa padrão é o EOG (Eye of Gnome), como outro respondente diz. Mesmo se você remover a extensão, ela ainda poderá abri-los.

Quanto ao dvie pdf, novamente, os dois tipos de arquivo são abertos pelo mesmo programa, chamado evince. Então, a mesma coisa acontece lá.

Anwar
fonte