إعدادات INI (.ini)
معيار قياسيملف إعدادات Windows الأولية (INI) هو تنسيق ملفات الإعدادات التقليدي الذي اشتهر مع Microsoft Windows. وينظّم إعدادات التطبيقات في أقسام مسماة بين معقوفين، تضم أزواجاً من مفتاح وقيمة.
تحويل INI إلى JSON
محول مجاني داخل المتصفح للتحويل من INI إلى JSON. قم بتحويل الملفات فوراً على جهازك.
فحص البيانات الوصفية
تتعرف أنظمة التشغيل ومحللات الملفات على ملفات INI من خلال فحص تسلسل البايت الثنائي البادئ:
توقيع رأس الملف على مستوى البايت (Magic Bytes)
تتعرف أنظمة التشغيل ومحللات الملفات على ملفات INI من خلال فحص تسلسل البايت الثنائي البادئ:
التوقيع الست عشري (الإزاحة 0):
5B ... 5Dتمثيل ASCII: [...]
التوحيد القياسي: معيار صناعي شائع بحكم الاستخدام
المواصفات الفنية
| هيكلية الحاوية | ملف إعدادات نصي عادي، منظّم في ترويسات أقسام بين معقوفين تضم أزواج مفتاح = قيمة وتعليقات تبدأ بـ ; أو # |
| الضغط | ملف نصي غير مضغوط |
| ترتيب البايتات (Endianness) | تدفق نصي بترميز UTF-8 أو ANSI |
| مساحات الألوان | لا ينطبق (ملف إعدادات) |
| القنوات والبنية | خصائص إعدادات على هيئة مفتاح وقيمة، مصنفة ضمن أقسام مسماة |
| الحد الأقصى للأبعاد | كان الحد 64 كيلوبايت في إصدارات Windows ذات 16 بت؛ ولا حد له في التطبيقات الحديثة. |
| الشفافية | لا يوجد |
| البث والتحميل التدرجي | محلل تدفقي يقرأ الملف سطراً بعد سطر |
مصفوفة المقارنة التقنية: INI مقابل المنافسين
| السمة التقنية | INI (الحالي) | JSON | YAML | TOML |
|---|---|---|---|---|
| تعقيد بناء الجملة | الأبسط الممكن (قسم + مفتاح=قيمة) | أقواس واقتباسات صارمة | مسافات بيضاء يتحدد معناها بمستوى المسافة البادئة | جداول حديثة ذات أنواع محددة |
| دعم التعليقات | مدعوم أصلًا (تعليقات ; و #) | لا تدعم المواصفات التعليقات | مدعوم أصلًا (تعليقات #) | مدعوم أصلًا (تعليقات #) |
| الهياكل المتداخلة | أقسام من مستوى واحد فقط | كائنات/مصفوفات متداخلة بلا حدود | أشجار متداخلة بلا حدود | مصفوفات جداول منظّمة |
| أنواع البيانات | سلاسل نصية تلقائيًا (يحلل التطبيق الأنواع) | أرقام صريحة، قيم منطقية، مصفوفات | أنواع صريحة ومثبتات | تواريخ صريحة، أرقام، مصفوفات |
أنماط التلف الشائعة ودليل الاسترداد بالنظام الست عشري
يتجاهل التطبيق الإعدادات أو يفشل في البدء.
السبب الجذري: غياب قوس الإغلاق في ترويسة القسم (مثل [Settings بدلاً من [Settings])، أو وجود علامة يساوي غير مهربة في القيمة.
الاسترداد: تحقّق من صياغة ملف INI وأصلحها باستخدام منسّق الإعدادات في File2File.app.
تحليل الأمان ومتجهات الهجوم على المحلّل
ينبغي لمحللات INI الحماية من هجمات حقن الأقسام وتلويث النماذج الأولية عند تحويل البيانات إلى كائنات.
ناقلات الهجوم المعروفة
- حقن INI حيث يؤدي إدراج سطر جديد في مدخلات المستخدم إلى إنشاء أقسام تهيئة غير مصرح بها.
- تلويث النماذج الأولية في محللات JavaScript INI التي تُعيّن إلى '__proto__'.
- حرمان من الخدمة من خلال التوسع المتكرر العميق لأسماء الأقسام.
أفضل الممارسات الدفاعية: نقِّ مدخلات المستخدم لمنع أحرف السطر الجديد، واحمِ المحلل من تلويث النماذج الأولية.
الأصول التاريخية والمحطات الرئيسية
المزايا الرئيسية والإيجابيات
- صياغة واضحة وبسيطة للغاية، يسهل على المستخدمين غير المتخصصين قراءة الإعدادات وتعديلها.
- تتوفر واجهات تحليل مدمجة في معظم لغات البرمجة (مثل configparser في Python وparse_ini_file في PHP وواجهات C#).
- مساحات الأسماء للأقسام تمنع تضارب الإعدادات عبر ميزات التطبيق المختلفة.
القيود الفنية والسلبيات
- لا يوجد معيار دولي رسمي؛ إذ تختلف رموز التعليقات (; أو #) وقواعد الهروب بين المحللات.
- بنيته مسطحة، فلا يدعم المصفوفات المتداخلة بعمق أو الكائنات المركبة من دون فواصل مخصصة.
- تُقرأ جميع القيم كسلاسل نصية، لذا يتعين على التطبيقات تحليل الأعداد الصحيحة والقيم المنطقية والعشرية يدوياً.
معلومات تقنية طريفة
- في Windows 3.1، خُزنت جميع إعدادات نظام التشغيل في ملفين فقط: WIN.INI وSYSTEM.INI.
- يستخدم Git صيغة INI في ملف إعدادات المستودع الرئيسي .git/config.
- تُكتب ملفات اختصارات سطح المكتب في Linux (ملفات .desktop وفق XDG Desktop Entry) بصياغة INI القياسية.
الأسئلة التقنية المتكررة
ما هو الغرض من استخدام ملفات INI؟
تُستخدم ملفات INI في برامج سطح المكتب والألعاب وأدوات المطورين (مثل إعدادات Git و PHP.ini) لتخزين تفضيلات المستخدم وإعدادات التكوين بتنسيق سهل القراءة.
كيف يمكنني تعديل ملف INI؟
يمكنك فتح ملفات INI وتعديلها باستخدام أي محرر نصوص أساسي مثل Notepad أو TextEdit أو VS Code، أو مباشرة عبر الإنترنت باستخدام موقع File2File.app.
هل يمكنني تحويل ملف INI إلى JSON أو YAML؟
نعم. يتيح لك موقع File2File.app تحويل ملفات INI إلى تنسيقات JSON أو YAML أو TOML النظيفة بشكل فوري داخل متصفحك.