Розпізнавач файлів


Сюжет

В основі сюжету цієї вправи лежить порівняння розширення файлу з бінарним форматом файлу, щоб дослідити такі поняття, як бінарні дані, зіставлення зі зразком і кодування рядків тексту (англ. string). Учневі треба написати кілька функцій, щоб порівняти очікуваний тип медіа з закодованим типом медіа файлу.

Завдання

Сюжет спонукає визначити функції:

  • Повернення типу медіа за рядком тексту розширення.
  • Повернення типу медіа за бінарним форматом файлу.
  • Порівняння очікуваного типу медіа з рядка тексту розширення з фактичним типом із бінарного файлу.

Довідка щодо вправи

Тип файлу Поширене розширення Тип медіа бінарний «підпис» із перших байтів
ELF none або "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

Реалізації