تنظيف ملفات QOI ("Quite OK Image")
13 تنسيق شاب، بُني لمهمة واحدة: سريع وبسيط وبلا فقدان
QOI ("Quite OK Image") تنسيق شاب حقًا، صدر لأول مرة عام 2021، صُمِّم لهدف واحد - مُرمِّز
صور بلا فقدان، بسيط بما يكفي ليُنفَّذ في بضع مئات من أسطر الكود، بينما يضغط ويفكّ الضغط أسرع بكثير
من PNG. ظهر بشكل رئيسي في محركات الألعاب، وأدوات رسومات صغيرة، ومشاريع هواة/أنظمة مدمجة، وليس في
الكاميرات أو الهواتف أو منصات التواصل الاجتماعي - إذا كان لديك ملف .qoi، فمصدره شبه
مؤكَّد أداة مطوّرين، وليس صورة فوتوغرافية.
تعمّق أكثر: لماذا "إزالة البيانات الوصفية" بالكاد تنطبق هنا
مواصفة QOI صغيرة جدًا عمدًا، ويظهر ذلك بوضوح: لا يوجد نظام قطع مساعدة كما في
tEXt/iCCP في PNG، ولا كتلة تعادل EXIF، ولا شيء يشبه مكانًا لإلحاق
إحداثيات GPS أو معلومات كاميرا أصلًا. الملف رأس ثابت من 14 بايت (العرض والارتفاع وعدد القنوات
وعلامة فضاء الألوان)، متبوعًا مباشرة ببيانات البكسل وعلامة نهاية من 8 بايت - لا يوجد في هذا
التنسيق ببساطة أي فتحة بيانات وصفية يمكن أن يختبئ فيها شيء. لكن هذا لا يجعل ملف QOI آمنًا
تلقائيًا: يمكن لأي تنسيق حاوية رغم ذلك أن يحمل بيانات مُلحَقة بعد علامة نهايته المُعرَّفة، وهو
نفس خطر النمط متعدد الأشكال الذي يتناوله هذا الموقع باستمرار مع كل تنسيق. تعامل إعادة البناء
الكاملة مع ذلك بنفس الطريقة في كل مكان آخر، حتى لو لم تكن هناك فعليًا حمولة بيانات وصفية لإزالتها
هنا.
ما الذي يهم فعليًا في ملف QOI
نظرًا لقلة ما يمكن إزالته، تكمن قيمة تمرير ملف QOI عبر هذه الأداة بالكامل تقريبًا في الضمان البنيوي الموصوف في صفحة المقارنة - فك الترميز الكامل إلى بكسلات خام، وإعادة البناء من الصفر، حتى لا تصل أي بايتات بعد علامة نهاية ملف QOI أبدًا إلى شيء قد يستجيب لها. إذا كنت تعمل مع ملفات QOI كجزء من سير عمل تطوير، بدلًا من مشاركة صور فوتوغرافية، فهذا الأمان البنيوي هو السبب الحقيقي لتمريرها هنا.