تنسيق ملف التبادل
تنسيق ملف التبادل ( IFF ) هو تنسيق ملف حاوية رقمية عام تم تقديمه في الأصل بواسطة Electronic Arts (بالتعاون مع Commodore ) في عام 1985 لتسهيل نقل البيانات بين البرامج التي تنتجها شركات مختلفة.
لا تحتوي ملفات IFF على أي امتداد قياسي لاسم الملف . في العديد من الأنظمة التي تُنشئ ملفات IFF، لا تُعدّ امتدادات الملفات مهمة لأن نظام التشغيل يخزن بيانات تعريف تنسيق الملف بشكل منفصل عن اسم الملف . يُستخدم امتداد اسم الملف عادةً لتنسيق ملف صورة ILBM ، الذي يستخدم تنسيق حاوية IFF..iff
تنسيق تبادل موارد الملفات (Resource Interchange File Format ) هو تنسيق طورته مايكروسوفت وآي بي إم عام ١٩٩١، وهو مبني على تنسيق IFF، مع تغيير ترتيب البايتات إلى نظام little-endian ليتوافق مع بنية معالجات x86 . أما تنسيق تبادل الصوت (Audio Interchange File Format ) من آبل (AIFF) فهو تنسيق ملفات صوتية بنظام big-endian، مشتق من IFF. ولا يرتبط تنسيق ملفات الصور TIFF بتنسيق IFF.
بناء
يُبنى ملف IFF من أجزاء . يبدأ كل جزء بما يُسمى في المواصفات "معرّف النوع" (ما كان يُسمى في نظام ماكنتوش " نوع نظام التشغيل "، وقد يُسميه مطورو ويندوز " FourCC "). يليه عدد صحيح مُوقّع 32 بت (جميع الأعداد الصحيحة في بنية ملف IFF مُرتبة بنظام big-endian ) يُحدد حجم البيانات التالية (محتوى الجزء) بالبايت. [ 1 ] ولأن المواصفات تتضمن أطوالًا صريحة لكل جزء، فمن الممكن أن يتخطى المُحلل الأجزاء التي لا يستطيع معالجتها أو لا يرغب في ذلك.
يرتبط هذا الهيكل ارتباطًا وثيقًا بتمثيل النوع-الطول-القيمة (TLV).
توجد مجموعات بيانات مُعرَّفة مسبقًا ، بمعرفات أنواع محددة . FORM[ ملاحظة 1 ] تُشبه المجموعة بنية السجل، إذ تحتوي على مُعرِّف نوع (يُشير إلى نوع السجل) متبوعًا بمجموعات بيانات مُتداخلة تُحدد حقول السجل. تُمثل بنية البيانات المُتداخلة سلسلة من مجموعات البيانات (الخصائص) بالإضافة إلى مجموعات بيانات مُتداخلة تُطبق عليها تلك الخصائص. تُمثل بنية البيانات المُتداخلة مجموعة من مجموعات البيانات المُتداخلة دون أي دلالات خاصة. يُمكن أن تحتوي مجموعات البيانات على مجموعات بيانات أخرى، حسب احتياجات التطبيق. تحتوي مجموعات البيانات، مثل نظيراتها الأبسط، على عنصر طول. وبالتالي، يُمكن تخطي مجموعة بيانات باستخدام عملية بحث نسبي بسيطة .LISTCAT FORMLISTPROPCAT
يجب أن تبدأ أجزاء البيانات من مواقع زوجية في الملف، بما يتناسب مع أصول بروتوكول IFF على معالج موتورولا 68000 ، الذي لم يكن بإمكانه الوصول إلى كميات أكبر من بايت واحد على عناوين فردية. لذا، سيتم "توسيع" أجزاء البيانات ذات الأطوال الفردية إلى حد بايت زوجي بإضافة ما يُسمى "بايت التوسيع" بعد نهايتها العادية.
يتكون الهيكل ذو المستوى الأعلى لملف IFF من جزء واحد فقط من أجزاء المجموعة: FORM، LISTأو ، حيث يكون هو الأكثر شيوعًا إلى حد بعيد.CAT FORM
لكل نوع من أنواع أجزاء البيانات بنية داخلية مختلفة، قد تكون بيانات رقمية أو نصية أو بيانات خام. من الممكن أيضًا تضمين ملفات IFF أخرى كما لو كانت أجزاء بيانات (لاحظ أنها تشترك في نفس البنية: أربعة أحرف متبوعة بطول الملف)، وتستخدم بعض التنسيقات هذه البنية. توجد أجزاء بيانات قياسية يمكن أن تتواجد في أي ملف IFF، مثل AUTH(يحتوي على نص يتضمن معلومات عن مؤلف الملف)، ANNOو(يحتوي على نص يتضمن شرحًا، عادةً اسم البرنامج الذي أنشأ الملف)، و NAME(يحتوي على نص يتضمن اسم العمل الموجود في الملف)، VERSو(يحتوي على إصدار الملف)، و(يحتوي على نص يتضمن معلومات حقوق النشر). كما توجد أجزاء بيانات مشتركة بين عدد من التنسيقات، مثل ، الذي يحتوي على لوحة الألوان في ملفات ILBM و ANIM و DR2D (الصور والرسوم المتحركة والصور المتجهة). توجد أيضًا أجزاء بيانات تحمل اسمًا مشتركًا ولكنها تحتوي على بيانات مختلفة، مثل ، الذي قد يخزن صورة في ملف ILBM وصوتًا في ملف 8SVX . وأخيرًا، توجد أجزاء بيانات خاصة بنوع الملف. تقوم بعض البرامج التي تنشئ ملفات IFF بإضافة أجزاء إليها تحتوي على بياناتها الداخلية؛ ويمكن قراءة هذه الملفات نفسها لاحقًا بواسطة برامج أخرى دون أي انقطاع (لأن برامج التحليل الخاصة بها يمكنها تخطي الأجزاء غير المهمة)، وهو ما يمثل ميزة كبيرة لملفات IFF والتنسيقات المماثلة.(c) CMAPBODY
انظر أيضاً
- AIFF ( مشتق متوافق مع نظام Big-Endian من IFF، وهو في الأصل من شركة Apple)
- FourCC (أسلوب تحديد الأجزاء المستخدم في العديد من تنسيقات TLV، بما في ذلك IFF، كرقم سحري مطول )
- تنسيق الصور النقطية المتداخلة (ILBM) (تنسيق ملف صور قائم على IFF)
- PNG (تنسيق ملف رسومات حديث ذو بنية مجزأة مستوحاة من IFF)
- RIFF ( مشتق غير متوافق مع نظام little-endian من IFF، أصله من مايكروسوفت)
- TLV (التنسيق العام الذي يُعد IFF مثالاً عليه)
ملحوظات
مراجع
- ↑ ريدي، مارتن (14 يناير 1985). ""معيار EA IFF 85 لملفات تنسيق التبادل" . martinreddy.net . تم الاطلاع عليه بتاريخ 8 أبريل 2015 .
روابط خارجية
- مستودع "EA IFF-85"
- "EA IFF 85": معيار ملفات تنسيق التبادل - مواصفات IFF الأصلية التي كتبها جيري موريسون من شركة EA (14 يناير 1985)
- صفحة تتناول تنسيقات ملفات أميغا ومتغيرات IFF
- سجل أجزاء IFF
- معيار IFF - بالإضافة إلى شفرة المصدر وقائمة بالأجزاء والنماذج المسجلة في سياق AmigaOS.
- تنسيقات ملفات الحاسوب
- نظام التشغيل AmigaOS
- أميغا
- مورفوس
