Heh, não se preocupa em ser "chato", chato seria se você não aprendesse nada do que está sendo discutido aqui. Pode ter certeza de que um dia eu fiz essas mesmas perguntas e alguém me ajudou a entender melhor como tudo isso funciona.
Respondendo sua pergunta, por que então o computador ainda continua tentando abrir o arquivo de texto como se fosse uma imagem? Como em alguns dos artigos que citei dizem, pra achar o chamado magic number o seu programa precisa fazer uma análise hexadecimal do arquivo que está lendo (você pode fazer isso você mesmo usando ferramentas como o xxd
) e isso é algo que pode ser ou muito complexo de se implementar ou pode ser desnecessariamente intensivo computacionalmente: pra fazer a leitura dos primeiros bytes do seu executável você teria que ler o arquivo e caso os magic numbers não sejam os esperados você leu o arquivo em vão. É muito mais simples apenas verificar a extensão, assim você não precisa de fato ler o arquivo e raramente você vai encontrar um arquivo com um tipo diferente da sua extensão, como no nosso caso do arquivo.jpg.
Então é bem relativo, o seu software de gerenciamento de arquivos decidiu chamar um visualizador de imagens porque decidiu que não precisa fazer esse check mais complexo, os desenvolvedores escolheram que seria melhor assim, mas alguns programas como o 7z
por exemplo conseguem inferir o tipo do arquivo independentemente da extensão e vai te avisar se você tentar descompactar um zip que não é, de fato, um zip:
$ mv arquivo.jpg arquivo.zip
$ 7z x arquivo.zip
[...]
ERRORS:
Is not archive
[...]
Assim como o inverso:
$ mv arquivo_zip_valido.zip arquivo_zip_valido.jpg
$ 7z x arquivo.jpg
[...]
Type = zip
Everything is Ok
[...]