Detetor de ficheiros


História

A história deste exercício parte da premissa de comparar a extensão do ficheiro com o formato binário do ficheiro, para explorar ideias como dados binários, correspondência de padrões e codificação de strings. Pede-se ao estudante que escreva algumas funções para comparar o tipo de média esperado com o tipo de média codificado no ficheiro.

Tarefas

A história dá azo à definição de funções que:

  • Devolvem o tipo de média a partir de uma extensão em string.
  • Devolvem o tipo de média a partir de um formato de ficheiro binário.
  • Comparam o tipo de média esperado a partir da extensão em string com o tipo real do ficheiro binário.

Referência do exercício

Tipo de ficheiro Extensão comum Tipo de média 'assinatura' binária dos primeiros bytes
ELF none ou "exe" "application/octet-stream" 0x7F, 0x45, 0x4C, 0x46
BMP "bmp" "image/bmp" 0x42, 0x4D
PNG "png" "image/png" 0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A
JPG "jpg" "image/jpg" 0xFF, 0xD8, 0xFF
GIF "gif" "image/gif" 0x47, 0x49, 0x46

Implementações