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

7

Quando você renomeia arquivos com uma extensão diferente, na maioria das vezes não funciona. Mas, se você tiver um arquivo .png, basta renomear image.png para image.jpeg ou image.gif e ele será automaticamente convertido para o outro formato e funcionará perfeitamente bem. Existe alguma semelhança entre esses formatos que permite que isso seja feito? Eu percebi isso há alguns anos e me interessei quando estava tentando converter um arquivo .dvi para um arquivo .pdf ; apenas renomeá-lo funcionou!

    
por asymptotically 22.07.2012 / 07:30

2 respostas

18

Isso é o que provavelmente acontece. O aplicativo designado para abrir arquivos com os tipos de arquivos mencionados é o mesmo em todos eles. .gif, .jpg, .png: todos são manipulados pelo EOG (Eye of Gnome do GNOME). Suspeito que este aplicativo não determine o tipo de arquivo com base na extensão, em vez disso, ele busca o número mágico .

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

Tudo isso 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 renomear para "document.dvi" será processado como "document.dvi.pdf". Vírus às vezes exploram esse "recurso", fazendo o usuário acreditar que está abrindo um arquivo .jpg, enquanto na realidade eles estão sendo enganados e executando um exe malicioso!

Para ter certeza sobre os tipos de arquivos, existe um comando chamado file que 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 induzido a reconhecer um arquivo de imagem renomeado. Você deve estar fazendo algo diferente do que eu.

    
por Cumulus007 22.07.2012 / 07:39
7

A renomeação dos arquivos .png para .jpeg e .gif funciona porque o programa associado e designado para abrir esses arquivos é o mesmo e, quando vê as extensões que pode abrir, simplesmente as abre, porque elas são todos os arquivos de imagem e o programa podem abri-los.

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

Quanto aos dvi e pdf , ambos os tipos de arquivos são abertos pelo mesmo programa, chamado evince. Então, a mesma coisa acontece lá.

    
por Anwar 22.07.2012 / 07:52