INI সেটিংস (.ini)

প্রচলিত স্ট্যান্ডার্ড

উইন্ডোজ ইনিশিয়ালাইজেশন কনফিগারেশন (INI) হলো মাইক্রোসফ্ট উইন্ডোজ দ্বারা জনপ্রিয় করা ক্লাসিক পঠনযোগ্য কনফিগারেশন ফাইল ফরম্যাট, যা কী=ভ্যালু জোড়া ধারণকারী নামকৃত [sections]-এ অ্যাপ্লিকেশন সেটিংস সংগঠিত করে।

INI থেকে JSON-তে রূপান্তর করুন

বিনামূল্যের ব্রাউজারভিত্তিক INI-থেকে-JSON রূপান্তরকারী। আপনার ডিভাইসেই ফাইল তাৎক্ষণিকভাবে রূপান্তর করুন।

ইনস্পেক্ট ও মেটাডেটা

অপারেটিং সিস্টেম এবং ফাইল অ্যানালাইজারগুলো শুরুর বাইনারি বাইট সিকোয়েন্স পরীক্ষা করে INI ফাইল শনাক্ত করে:

এখানে ফাইল নির্বাচন করুন বা ড্রপ করুন

ব্যক্তিগত - ফাইল কখনোই আপনার ডিভাইস ছেড়ে যায় না

অথবা পেস্ট করুন Ctrl+V
নেটওয়ার্কে কোনো ডেটা পাঠানো হয় না - গোপনীয়তার নিশ্চয়তা: বাহ্যিক সার্ভারে ০ বাইট আপলোড করা হয়েছে। সমস্ত প্রক্রিয়াকরণ আপনার ব্রাউজার স্যান্ডবক্সে স্থানীয়ভাবে ঘটেছে।

বাইট-লেভেল হেডার সিগনেচার (ম্যাজিক বাইটস)

অপারেটিং সিস্টেম এবং ফাইল অ্যানালাইজারগুলো শুরুর বাইনারি বাইট সিকোয়েন্স পরীক্ষা করে INI ফাইল শনাক্ত করে:

হেক্স সিগনেচার (অফসেট 0):

5B ... 5D

ASCII রিপ্রেজেন্টেশন: [...]

স্ট্যান্ডার্ডাইজেশন: প্রচলিত শিল্পক্ষেত্রের কনফিগারেশন স্ট্যান্ডার্ড

প্রযুক্তিগত বৈশিষ্ট্য

কন্টেইনার আর্কিটেকচার[section] হেডারে সাজানো প্লেইনটেক্সট কনফিগারেশন ফাইল; এতে key = value জোড়া এবং (; বা #) কমেন্ট থাকে
কম্প্রেশনকমপ্রেশনবিহীন টেক্সট ফাইল
বাইট এন্ডিয়াননেসUTF-8 বা ANSI টেক্সট স্ট্রিম
কালার স্পেসপ্রযোজ্য নয় (কনফিগারেশন ফাইল)
চ্যানেল ও কাঠামোsection namespace অনুযায়ী সাজানো key-value কনফিগারেশন প্রপার্টি
সর্বোচ্চ মাত্রা16-bit Windows-এ ঐতিহাসিকভাবে 64 KB সীমা ছিল; আধুনিক বাস্তবায়নে সীমাহীন
স্বচ্ছতানেই
স্ট্রিমিং ও প্রোগ্রেসিভলাইন ধরে ধারাবাহিকভাবে স্ট্রিমিং পার্সিং

টেকনিক্যাল তুলনা ম্যাট্রিক্স: INI বনাম প্রতিযোগীগণ

প্রযুক্তিগত বৈশিষ্ট্যINI (বর্তমান)JSONYAMLTOML
সিনট্যাক্স জটিলতাসবচেয়ে সহজ সম্ভব (section + key=val)কঠোর ব্র্যাকেট এবং কোটইন্ডেন্টেশন-সংবেদনশীল হোয়াইটস্পেসআধুনিক টাইপড টেবিল
কমেন্টস সমর্থননেটিভ (; এবং # কমেন্ট)স্পেসিফিকেশনে কোনো কমেন্টস সমর্থিত নয়নেটিভ (# কমেন্ট)নেটিভ (# কমেন্ট)
নেস্টেড স্ট্রাকচারশুধুমাত্র ১-স্তরের সেকশনঅসীম নেস্টেড অবজেক্ট/অ্যারেঅসীম নেস্টেড ট্রিকাঠামোগত টেবিল অ্যারে
ডেটা টাইপিংঅন্তর্নিহিত স্ট্রিং (অ্যাপ টাইপ পার্স করে)স্পষ্ট সংখ্যা, বুলিয়ান, অ্যারেস্পষ্ট টাইপ এবং অ্যাঙ্করস্পষ্ট তারিখ, সংখ্যা, অ্যারে

সাধারণ করাপশন মোড এবং হেক্স রিকভারি গাইড

অ্যাপ্লিকেশন সেটিংস উপেক্ষা করে অথবা চালু হতে ব্যর্থ হয়।

মূল কারণ: সেকশন হেডার ব্র্যাকেট অনুপস্থিত (যেমন '[Settings]' এর পরিবর্তে '[Settings') অথবা মানের মধ্যে আনস্কেপড সমান চিহ্ন।

পুনরুদ্ধার: File2File.app কনফিগ ফরম্যাটার ব্যবহার করে INI সিনট্যাক্স যাচাই এবং ঠিক করুন।

নিরাপত্তা বিশ্লেষণ ও পার্সার অ্যাটাক ভেক্টর

অবজেক্টে ডিসিরিয়ালাইজ করার সময় INI পার্সারগুলোকে সেকশন ইনজেকশন আক্রমণ এবং প্রোটোটাইপ পলিউশন থেকে রক্ষা করতে হবে।

পরিচিত অ্যাটাক ভেক্টর

  • INI ইনজেকশন যেখানে ব্যবহারকারীর ইনপুটে নিউলাইন ইনসার্শন অননুমোদিত কনফিগারেশন সেকশন তৈরি করে।
  • JavaScript INI পার্সারে '__proto__'-তে অ্যাসাইন করা প্রোটোটাইপ পলিউশন।
  • গভীরভাবে রিকার্সিভ সেকশন নাম সম্প্রসারণের মাধ্যমে ডিনায়াল অফ সার্ভিস।

প্রতিরক্ষামূলক সেরা অনুশীলন: নিউলাইন ক্যারেক্টার নিষিদ্ধ করতে এবং প্রোটোটাইপ পলিউশনের বিরুদ্ধে সুরক্ষা দিতে ব্যবহারকারীর ইনপুট স্যানিটাইজ করুন।

ঐতিহাসিক উৎপত্তি ও মাইলফলক

2000Python-এর স্ট্যান্ডার্ড লাইব্রেরিতে INI ফাইল নিয়ে কাজের জন্য configparser রয়েছে।
1995উইন্ডোজ ৯৫ মনোলিথিক সিস্টেম INI ফাইলগুলোর (SYSTEM.INI, WIN.INI) স্থলাভিষিক্ত করতে উইন্ডোজ রেজিস্ট্রি প্রবর্তন করে।
1985মাইক্রোসফট উইন্ডোজ ১.০ মূল অপারেটিং সিস্টেম কনফিগারেশন ডাটাবেস হিসেবে WIN.INI প্রবর্তন করে।

প্রধান সুবিধাসমূহ ও গুণাবলী

  • অত্যন্ত পরিষ্কার, স্বজ্ঞাত সিনট্যাক্স: অ-প্রযুক্তিগত ব্যবহারকারীরা সহজেই সেটিংস পড়তে এবং পরিবর্তন করতে পারে।
  • প্রায় প্রতিটি প্রোগ্রামিং ভাষাতেই নেটিভ পার্সিং API (Python configparser, PHP parse_ini_file, C#)।
  • সেকশন নেমস্পেস বিভিন্ন অ্যাপ্লিকেশন ফিচারের মধ্যে সেটিং সংঘর্ষ রোধ করে।

কারিগরি সীমাবদ্ধতা ও অসুবিধা

  • কোনো আনুষ্ঠানিক আন্তর্জাতিক স্ট্যান্ডার্ড নেই: কমেন্ট ক্যারেক্টার (; বনাম #) এবং এস্কেপিং নিয়মগুলো পার্সারভেদে পরিবর্তিত হয়।
  • ফ্ল্যাট হায়ারার্কি: কাস্টম ডিলিমিটার ছাড়া গভীরভাবে নেস্টেড অ্যারে বা জটিল কাঠামোগত অবজেক্ট সমর্থন করে না।
  • সমস্ত মান স্ট্রিং হিসেবে পড়া হয়, যার ফলে অ্যাপ্লিকেশনগুলোকে নিজে থেকে পূর্ণসংখ্যা, বুলিয়ান এবং ফ্লোট পার্স করতে হয়।

আকর্ষণীয় কারিগরি তথ্য

  • উইন্ডোজ ৩.১-এ, পুরো অপারেটিং সিস্টেমের প্রতিটি একক সেটিং মাত্র দুটি ফাইলে সংরক্ষিত ছিল: WIN.INI এবং SYSTEM.INI।
  • জিটের প্রাথমিক রিপোজিটরি কনফিগারেশন ফাইলের জন্য INI ফরম্যাট ব্যবহার করে যা '.git/config'-এ অবস্থিত।
  • লিনাক্সে ডেস্কটপ শর্টকাট ফাইলগুলো (XDG ডেস্কটপ এন্ট্রি '.desktop' ফাইল) স্ট্যান্ডার্ড INI সিনট্যাক্স ব্যবহার করে গঠিত।

সচরাচর জিজ্ঞাসিত প্রযুক্তিগত প্রশ্নাবলি

INI ফাইল কী কাজে ব্যবহার করা হয়?

ডেস্কটপ সফটওয়্যার, গেম এবং ডেভেলপার টুলস (যেমন Git config এবং PHP.ini) ব্যবহারকারীর পছন্দ এবং কনফিগারেশন সেটিংস সহজে পাঠযোগ্য ফরম্যাটে সংরক্ষণ করতে INI ফাইল ব্যবহার করে।

আমি কীভাবে একটি INI ফাইল এডিট করব?

আপনি Notepad, TextEdit, VS Code-এর মতো যেকোনো বেসিক টেকস্ট এডিটর দিয়ে অথবা সরাসরি অনলাইনে File2File.app ব্যবহার করে INI ফাইল খুলতে এবং এডিট করতে পারেন।

আমি কি INI থেকে JSON বা YAML-এ রূপান্তর করতে পারি?

হ্যাঁ। File2File.app আপনার ব্রাউজারের মধ্যেই তাৎক্ষণিকভাবে INI ফাইলগুলোকে পরিষ্কার JSON, YAML বা TOML ফরম্যাটে রূপান্তর করতে পারে।