टेक्स्ट केस कन्वर्ज़न क्या है?
टेक्स्ट केस कन्वर्ज़न एक इनपुट स्ट्रिंग लेता है और वही शब्द किसी अन्य अक्षर-केस संगिति में आउटपुट करता है। सबसे आम लक्ष्य हैं camelCase और PascalCase(अधिकांश कर्ली-ब्रेस भाषाओं में पहचानकर्ता), snake_case और CONSTANT_CASE(Python, Ruby, Rust, C मैक्रो), kebab-case(URL, CSS क्लास नाम, HTML विशेषताएँ, npm पैकेज नाम), dot.case(कॉन्फ़िगरेशन कुंजियाँ, JavaScript ऑब्जेक्ट पाथ), path/case(फ़ाइलसिस्टम-शैली पहचानकर्ता), Title Case और Sentence case(शीर्षक और गद्य), साथ ही पूर्ण lower case और UPPER CASE। यह कनवर्टर आपके इनपुट में स्वाभाविक शब्द सीमाएँ पहचानता है — व्हाइटस्पेस, हाइफ़न, अंडरस्कोर, डॉट, स्लैश, और छोटे→बड़े अक्षर का संक्रमण जो helloWorld-शैली पहचानकर्ताओं को चिह्नित करता है — और प्रत्येक लक्ष्य केस की आवश्यक विभाजक तथा कैपिटलाइज़ेशन पैटर्न के साथ उन्हें पुनः जोड़ता है।
केस कन्वर्ज़न कैसे काम करता है?
आपका इनपुट एक छोटे वेनिला-JavaScript टोकनाइज़र और ग्यारह केस फ़ॉर्मैटर्स का उपयोग करके पूरी तरह आपके ब्राउज़र में संसाधित होता है। उच्च-स्तरीय चरण इस प्रकार हैं:
- आपका इनपुट टेक्स्टएरिया से शब्दशः पढ़ा जाता है — आपके पेस्ट किए गए हर बाइट को स्थानीय मेमोरी में रखा जाता है।
- एक टोकनाइज़र इनपुट को व्हाइटस्पेस, अंडरस्कोर, हाइफ़न, डॉट और स्लैश पर विभाजित करता है, फिर प्रत्येक टुकड़े को छोटे→बड़े अक्षर सीमाओं पर आगे विभाजित करता है (इसलिए
helloWorld["hello", "World"]बन जाता है) और अक्षर↔अंक सीमाओं पर (इसलिएv2API["v", "2", "API"]बन जाता है)। - खाली टोकन फ़िल्टर कर दिए जाते हैं और बचे हुए टोकन
String.prototype.toLocaleLowerCaseका उपयोग करके लोअरकेस में बदले जाते हैं ताकि तुर्की, जर्मन और अन्य लोकेल में Unicode अक्षर सही ढंग से बने रहें। - फिर ग्यारह फ़ॉर्मैटर्स बारी-बारी से टोकन्स को प्रत्येक लक्ष्य केस में जोड़ते हैं — camelCase, PascalCase, snake_case, CONSTANT_CASE, kebab-case, dot.case, path/case, Title Case (छोटे शब्दों की सूची के साथ ताकि
and,the,ofआदि पहले या अंतिम शब्द को छोड़कर लोअरकेस रहें), Sentence case, पूर्ण लोअरकेस और पूर्ण अपरकेस। - आउटपुट प्रत्येक केस के लिए एक पंक्ति के रूप में परिणाम ग्रिड में लिखा जाता है; प्रत्येक पंक्ति का अपना कॉपी बटन होता है जो asynchronous Clipboard API और पुराने ब्राउज़रों के लिए synchronous
document.execCommand('copy')फ़ॉलबैक का उपयोग करता है।
केस कनवर्टर का उपयोग क्यों करें?
- पहचानकर्ताओं को रिफ़ैक्टर करें: एक JavaScript वेरिएबल को
user_idसेuserIdमें, Python फ़ंक्शन कोhelloWorldसेhello_worldमें, या Rust स्थिरांक कोmaxBufferसेMAX_BUFFERमें बिना एक-एक अक्षर हाथ से बदले नाम दें। - कॉन्फ़िगरेशन कुंजियाँ बदलें: एक ही पेस्ट में camelCase कुंजियों से भरे JSON config को Python सेवा के लिए snake_case YAML, या Helm chart के लिए kebab-case में बदलें।
- शीर्षक लिखें: एक मसौदा शीर्षक पेस्ट करें और Title Case रूप (Chicago Manual of Style के छोटे-शब्द अपवादों के साथ) तथा Sentence case रूप (AP Stylebook) दोनों को साथ-साथ पढ़ें — जो आपकी प्रकाशन शैली हो उसे चुनें।
- URL slug बनाएँ: एक ब्लॉग पोस्ट शीर्षक पेस्ट करें और kebab-case रूप सीधे अपने CMS के slug फ़ील्ड में कॉपी करें — टोकनाइज़र विराम चिह्न और बहु-शब्द वाक्यांश संभालता है, बिना अतिरिक्त विभाजक छोड़े।
केस कन्वर्ज़न के सामान्य अनुप्रयोग क्या हैं?
अक्षर-केस संगिति के बीच स्विच करना सॉफ़्टवेयर इंजीनियरिंग, सामग्री लेखन और डेटा इंजीनियरिंग में हर जगह दिखाई देता है:
- कोड रिफ़ैक्टरिंग: जब स्टाइल गाइड बदले तो कोडबेस भर में पहचानकर्ताओं का नाम बदलें (जैसे बैकएंड पुनर्लेखन के दौरान JavaScript camelCase → Python snake_case) — बिना टाइपो लाए।
- API पेलोड पुन: आकार: Ruby on Rails या Django बैकएंड को भेजने से पहले camelCase JSON कुंजियों को snake_case में, या CSS-in-JS क्लास नाम के लिए kebab-case में बदलें।
- शीर्षक और slug लेखन: एक ही स्रोत शीर्षक से Title Case पृष्ठ शीर्षक, Sentence case मेटा विवरण, और kebab-case URL slug एक चरण में बनाएँ।
केस कन्वर्ज़न का उदाहरण कैसा दिखता है?
Hello World API को इनपुट में पेस्ट करें। परिणाम ग्रिड एक साथ ग्यारह पंक्तियाँ प्रस्तुत करता है: helloWorldApi(camelCase), HelloWorldApi(PascalCase), hello_world_api(snake_case), HELLO_WORLD_API(CONSTANT_CASE), hello-world-api(kebab-case), hello.world.api(dot.case), hello/world/api(path/case), Hello World Api(Title Case), Hello world api(Sentence case), hello world api(lower case), और HELLO WORLD API(UPPER CASE)। वही इनपुट यदि helloWorldAPI के रूप में पेस्ट किया जाए तो भी उन्हीं तीन शब्दों में टोकनाइज़ होता है — छोटे→बड़े सीमा डिटेक्टर इस आकार को भी संभालता है।
क्या यह मेरे ब्राउज़र में चलता है?
हाँ। टोकनाइज़र और ग्यारह केस फ़ॉर्मैटर्स लगभग 120 लाइन वेनिला JavaScript हैं जो ब्राउज़र टैब के अंदर चलते हैं। कुछ भी अपलोड नहीं होता, कोई service worker आपके इनपुट को प्रॉक्सी नहीं करता, और कन्वर्ट चरण के लिए पृष्ठ कोई नेटवर्क अनुरोध नहीं करता। एकमात्र आउटबाउंड ट्रैफ़िक मानक पेज-लोड assets (CSS, फ़ॉन्ट, analytics) है — आपका टेक्स्ट कभी Ultim8Soft तक नहीं पहुँचता।
वेरिएबल नामों के लिए मुझे कौन-सा केस फ़ॉर्मैट इस्तेमाल करना चाहिए?
यह भाषा और टीम की स्टाइल गाइड पर निर्भर करता है। JavaScript और TypeScript कोडबेस अत्यधिक रूप से वेरिएबल और फ़ंक्शन के लिए camelCase, क्लास और React घटकों के लिए PascalCase, और एनवायरनमेंट-वेरिएबल नामों तथा मॉड्यूल-स्तर स्थिरांकों के लिए CONSTANT_CASE उपयोग करते हैं — Google JavaScript स्टाइल गाइड और Airbnb स्टाइल गाइड दोनों यही तय करते हैं। Python (PEP 8), Ruby और Rust वेरिएबल और फ़ंक्शन के लिए snake_case, क्लास के लिए PascalCase, और मॉड्यूल-स्तर स्थिरांकों के लिए CONSTANT_CASE पसंद करते हैं। C और C++ कोडबेस (Linux कर्नेल, LLVM) फ़ंक्शनों के लिए snake_case और प्रीप्रोसेसर मैक्रो के लिए CONSTANT_CASE का सहारा लेते हैं। संदेह हो तो अपनी टीम का linter या formatter चलाएँ — वह बताएगा कि कौन-सी संगिति लागू है।
इनपुट कैसे टोकनाइज़ होता है?
टोकनाइज़र पहले इनपुट को किसी भी प्रकार की निरंतर व्हाइटस्पेस, अंडरस्कोर (_), हाइफ़न (-), डॉट (.) या स्लैश (/) पर विभाजित करता है। प्रत्येक परिणामी टुकड़े को फिर छोटे→बड़े अक्षर सीमाओं पर विभाजित किया जाता है (इसलिए helloWorld ["hello", "World"] बन जाता है) और अक्षर↔अंक सीमाओं पर भी (इसलिए v2API ["v", "2", "API"] बन जाता है)। खाली टोकन हटाए जाते हैं, और बचे टोकन String.prototype.toLocaleLowerCase के माध्यम से लोअरकेस में बदले जाते हैं। फिर फ़ॉर्मैटर्स प्रत्येक लक्ष्य केस की आवश्यक विभाजक के साथ टोकन्स को फिर से कैपिटलाइज़ और जोड़ते हैं। यह रणनीति आम छह पहचानकर्ता आकारों — camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, और सरल स्पेस-विभाजित गद्य — को बिना अतिरिक्त सेटअप के संभालती है।
Unicode / गैर-ASCII वर्णों का क्या?
Unicode अक्षर पूरी राउंड-ट्रिप जीवित रहते हैं। टोकनाइज़र String.prototype.toLocaleLowerCase और toLocaleUpperCase का उपयोग करता है, जो लोकेल-विशिष्ट केस नियमों का सम्मान करते हैं — तुर्की के डॉट वाले बनाम बिना डॉट के i, जर्मन ß का SS में अपरकेसिंग, फ्रेंच और स्पेनिश के स्वर-चिह्नित लैटिन अक्षर इत्यादि। गैर-अक्षर वर्ण जो विभाजक सेट (व्हाइटस्पेस, _, -, ., /) में नहीं हैं — जैसे अंक, स्वर-चिह्नित अक्षर, या CJK वर्ण — उस टोकन के अंदर रखे जाते हैं जिसमें वे आते हैं और केस फ़ॉर्मैटर्स उन्हें ज्यों-का-त्यों फिर से छापते हैं। इसका मतलब है कि nœud_principal जैसा इनपुट ["nœud", "principal"] में टोकनाइज़ होता है और साफ़-सुथरे nœudPrincipal(camelCase) या NœudPrincipal(PascalCase) में बदलता है।
यह केस कनवर्टर एक एकल स्थैतिक पृष्ठ है जो टोकनाइज़र और ग्यारह फ़ॉर्मैटर्स पूरी तरह आपके ब्राउज़र में चलाता है — कोई वेंडर लाइब्रेरी नहीं, प्रति-कन्वर्ज़न कोई नेटवर्क कॉल नहीं, कोई खाता नहीं। ऊपर कोई भी टेक्स्ट पेस्ट करें, ग्यारह केस आउटपुट साथ-साथ देखें, और जिसे आपको चाहिए उसे कॉपी करें।