YAML को INI में बदलें

यहाँ आप YAML को INI में बदलते हैं, मुफ़्त और बिना खाते के: फ़ाइल ऊपर छोड़िए और कुछ ही सेकंड में नतीजा डाउनलोड के लिए तैयार मिलेगा। कन्वर्ज़न आपके अपने ब्राउज़र के भीतर होता है, इसलिए फ़ाइल कभी अपलोड नहीं होती। यह Windows, macOS और Linux पर वैसे ही चलता है जैसे iPhone और Android पर, और कनेक्शन काट देने पर भी चलता रहता है।

  • कहाँ चलता है आपके ब्राउज़र में। फ़ाइल कभी अपलोड नहीं होती।
  • नए सिरे से बना INI के काम करने का तरीक़ा YAML से अलग है। यह किसी लॉसी कोडेक जैसा धीरे-धीरे होने वाला नुक़सान नहीं है: INI जो कुछ व्यक्त कर सकता है, वह हूबहू उतर आता है — और जिसका वहाँ कोई समतुल्य नहीं, वह पूरी तरह रह जाता है।
  • फ़ाइल आकार की सीमा हर फ़ाइल 100 MB तक, मुफ़्त, बिना खाते के।
  • जानने लायक़ INI में एक के अंदर एक होता ही नहीं। एक स्तर से गहरी संरचनाएँ चपटी होकर बिंदु वाली कुंजियाँ बन जाती हैं।

एक बार में 100 फ़ाइलें। फ़ॉर्मेट अलग-अलग हों तो भी चलेगा।

INI फ़ाइल YAML दस्तावेज़ को जो दो स्तर देती है

INI में समूह बनाने का बिल्कुल एक स्तर है: कोष्ठक में लिखा सेक्शन और उसके भीतर की कुँजियाँ। YAML में जितनी चाहे उतनी indent गहराई हो सकती है। बदलाव पूरे पेड़ पर चलकर हर मान के लिए एक dotted पथ बनाता है, फिर हर पथ को एक बार तोड़ता है — पहले बिंदु से पहले का हिस्सा सेक्शन बनता है, बाक़ी कुँजी।

तो database नाम की एक YAML mapping, जिसके भीतर pool है, जिसके भीतर timeout है, database नाम का सेक्शन और pool.timeout नाम की कुँजी बनाती है। दस्तावेज़ का हर मान बचता है; सिर्फ़ आकार चला जाता है। दूसरी तरफ़ का पार्सर सिर्फ़ बिंदु वाली सपाट कुँजियाँ देखता है और यह जानने का कोई तरीक़ा नहीं होता कि कौन-सा बिंदु nesting था और कौन-सा नाम का हिस्सा।

सूचियाँ क्रम में नंबर वाली कुँजी बनती हैं

YAML sequence का INI में कोई बराबर नहीं, इसलिए हर आइटम अपने इंडेक्स के नाम वाली कुँजी बनता है। तीन कमांड की सूची के तौर पर लिखी बिल्ड स्क्रिप्ट job सेक्शन के भीतर script.0, script.1 और script.2 बनकर आती है, उसी क्रम में जिसमें वे लिखी गई थीं।

क्रम बचता है, यही मायने रखता है, पर यह रिवाज़ हमारा है, कोई मानक नहीं। कुछ INI पार्सर नंबर वाली कुँजी को सूची के तौर पर समझते हैं, ज़्यादातर नहीं समझते, और कुछ दोहराई गई कुँजी का नाम माँगते हैं। फ़ाइल पढ़ने वाला प्रोग्राम इनका क्या करता है, यह भरोसा करने से पहले जाँच लीजिए।

ऊपरी स्तर की YAML सूची कहाँ पहुँचती है

दस्तावेज़ के ऊपरी स्तर की सूची के पास नंबर देने के लिए कोई कुँजी नहीं होती, इसलिए वह उस कुँजी के नाम का सेक्शन बन जाती है जो उसे रखे थी, 0, 1 और 2 उसकी कुँजियों के तौर पर। जिस YAML फ़ाइल की stages कुँजी में दो प्रविष्टियाँ हों, वह stages नाम के सेक्शन के भीतर कुँजी 0 और कुँजी 1 बनाती है।

संख्याओं से भरा सेक्शन क़ानूनी INI है और पढ़ने वाले को अजीब लगता है। अगर मंज़िल वाला प्रोग्राम एक कुँजी में कॉमा से बँटी सूची चाहता है — जो सूची के लिए आम INI रिवाज़ है — तो सूची को बदलने से पहले YAML में या बाद में INI में जोड़ दीजिए। कोई सेटिंग यह ख़ुद नहीं करेगी, क्योंकि दोनों रिवाज़ एक साथ सही नहीं हो सकते।

block scalar जो पहले INI फ़ाइल तोड़ देता था

एक YAML block scalar — pipe चिह्न के बाद indent किया हुआ हिस्सा, जिसमें हर CI फ़ाइल अपनी शेल स्क्रिप्ट रखती है — एक ही स्ट्रिंग में बदल जाता है जिसके भीतर नई लाइनें हैं। पहले यह लेखक उस स्ट्रिंग को बिल्कुल वैसे ही लिख देता था, तो नई लाइनें असली लाइन-ब्रेक बन जाती थीं, और वापस पढ़ने पर वे लाइनें छूट जाती थीं।

अब लेखक कई-लाइन वाले मान को उद्धरण-चिह्न में लपेटता है और हर ब्रेक को बैकस्लैश और n के तौर पर लिखता है, इसलिए स्क्रिप्ट एक लाइन पर रहती है, एक ही प्रविष्टि रहती है, और इसी कन्वर्टर से बिना बदले वापस आती है। जो नहीं बदला वह मंज़िल है: INI की अलग-अलग बोलियाँ escape को लेकर असहमत हैं, और जो पार्सर बैकस्लैश को सामान्य कैरेक्टर माने वह आपकी स्क्रिप्ट उन्हीं दो कैरेक्टर के साथ लौटाएगा।

ख़ाली मान और कई-दस्तावेज़ वाली फ़ाइल का क्या होता है

ख़ाली YAML मान बराबर के चिह्न के बाद कुछ न होने वाली कुँजी बन जाता है। INI के पास null और ख़ाली स्ट्रिंग में फ़र्क़ करने का कोई तरीक़ा नहीं, इसलिए स्रोत में जो दो अलग चीज़ें थीं वे नतीजे में एक जैसी हो जाती हैं।

`---` से बँटी कई-दस्तावेज़ वाली YAML फ़ाइल नहीं बदलती — पार्सर वहीं रुक जाता है, कोई चुनाव नहीं करता, क्योंकि INI फ़ाइल एक ही सेटिंग-समूह बताती है। फ़ाइल बाँटकर जो दस्तावेज़ चाहिए उसे अलग से बदलिए।

क्या फ़ाइल अपलोड होती है

नहीं। YAML पार्सर और INI लिखने वाला दोनों इसी पन्ने की JavaScript हैं, इसलिए कॉन्फ़िग आपकी मशीन कभी नहीं छोड़ता।

YAML को INI में ऐसे बदलें

  1. अपनी YAML फ़ाइल इस पेज पर छोड़ें, या चुनने के लिए दबाएँ।
  2. लक्ष्य के रूप में INI चुनें। कन्वर्ज़न आपके ब्राउज़र में होता है और फ़ाइल अपलोड नहीं होती।
  3. तैयार INI फ़ाइल डाउनलोड कर लें।

YAML या INI: क्या बदलता है

YAML और INI की तुलना
YAMLINI
पूरा नामYAML Ain't Markup LanguageINI कॉन्फ़िगरेशन
फ़ाइल एक्सटेंशन.yaml, .yml.ini, .cfg, .conf
मीडिया टाइपapplication/yamltext/plain
पहली बार प्रकाशित20011985
विनिर्देशYAML 1.2
लाइसेंसखुला मानकखुला मानक
आज की स्थितिमौजूदापुराना, फिर भी हर जगह पढ़ा जाता है
ब्राउज़र में खुलता हैकोई ब्राउज़र नहींकोई ब्राउज़र नहीं
इसकी जगह विचारणीयJSON, TOMLTOML

क्या बचा रहता है

टिप्पणियाँ साथ जाती हैं। YAML और INI — दोनों में टिप्पणी की वाक्य-रचना है, इसलिए बाद में फ़ाइल सँभालने वाले के लिए छोड़े गए नोट चुपचाप ग़ायब नहीं होते।

नतीजा खोलना

Visual Studio Code YAML और INI — दोनों पढ़ लेता है, इसलिए आप नतीजे को असली फ़ाइल के बग़ल में रखकर देख सकते हैं, बिना दूसरा प्रोग्राम खोले।

कौन-सा फ़ॉर्मेट किस काम के लिए है

YAML 2001 में आया। यह YAML 1.2 में तय किया गया है, और अगर फ़ाइल को उस औज़ार से ज़्यादा जीना है जिसने उसे लिखा, तो यह बात क़ीमती है।

INI 1985 से चला आ रहा है। Notepad और Visual Studio Code इस फ़ॉर्मेट को पढ़ लेते है।

INI 1985 में आया और YAML 2001 में। किसी को सौंपने के लिए आम तौर पर पुराना वाला ज़्यादा सुरक्षित रहता है; नया वाला वही काम कम बाइट में कर देता है।

YAML से INI: आम सवाल

क्या मेरी YAML फ़ाइल कहीं अपलोड होती है?

नहीं। यह कन्वर्ज़न पूरी तरह आपके ब्राउज़र में होता है, इसलिए फ़ाइल आपके डिवाइस से बाहर नहीं जाती। आप ख़ुद जाँच सकते हैं: डेवलपर टूल्स का नेटवर्क टैब खोलिए और कुछ बदल कर देखिए। आपको पेज ख़ुद दिखेगा और आँकड़ों तथा विज्ञापन के वे अनुरोध दिखेंगे जिनसे इस सेवा का ख़र्च निकलता है — और एक भी ऐसा अनुरोध नहीं जो आपकी फ़ाइल साथ ले जा रहा हो।

क्या YAML को INI में बदलना मुफ़्त है?

हाँ। न खाता, न वॉटरमार्क, और न कोई रोज़ का कोटा जो ख़त्म हो: यह आपकी अपनी मशीन पर चलता है, इसलिए आप जितनी बार चाहें लौट सकते हैं। ब्राउज़र 100 MB तक की फ़ाइलें सँभालता है, एक बार में 100।

YAML को INI में बदलने पर क्या गुणवत्ता जाती है?

YAML और INI सामग्री का वर्णन बुनियादी तौर पर अलग-अलग तरीक़ों से करते हैं। इसलिए यह कन्वर्ज़न नक़ल नहीं, पुनर्निर्माण है: ईमानदार, पर बाइट-दर-बाइट एक जैसा नहीं। INI में एक के अंदर एक होता ही नहीं। एक स्तर से गहरी संरचनाएँ चपटी होकर बिंदु वाली कुंजियाँ बन जाती हैं।

INI फ़ाइल खोलने के लिए क्या मुझे कुछ इंस्टॉल करना होगा?

कन्वर्ज़न के लिए नहीं: वह उसी ब्राउज़र में होता है जो आपने पहले से खोल रखा है। नतीजा खोलने के लिए उसके बाद वही प्रोग्राम चाहिए जिससे आपका डिवाइस INI Configuration आम तौर पर दिखाता है।

इन फ़ॉर्मेट के बारे में और