এই অনুশীলনীর গল্পে ফাইলের এক্সটেনশনের সাথে বাইনারি ফাইল ফরম্যাট তুলনা করার প্রেক্ষাপট ব্যবহার করে বাইনারি ডেটা, প্যাটার্ন ম্যাচিং ও স্ট্রিং এনকোডিংয়ের ধারণাগুলো খতিয়ে দেখা হয়েছে। শিক্ষার্থীর কাজ হলো প্রত্যাশিত মিডিয়া টাইপের সাথে ফাইলের এনকোড করা মিডিয়া টাইপ তুলনা করার জন্য কয়েকটি ফাংশন লেখা।
গল্পটি নিচের ফাংশনগুলো ডিফাইন করার সুযোগ করে দেয়:
| ফাইলের ধরন | কমন এক্সটেনশন | মিডিয়া টাইপ | প্রথম বাইটগুলো থেকে বাইনারি 'সিগনেচার' |
|---|---|---|---|
| ELF |
none or "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 |