यह क्या करता है
स्ट्रिंग एस्केप टूल टेक्स्ट को ऐसे रूप में बदलता है जिसे स्ट्रिंग लिटरल के अंदर रखा जा सके, और एस्केप की गई स्ट्रिंग को वापस सामान्य टेक्स्ट में बदलता है। यह नौ लक्ष्यों को सपोर्ट करता है: JSON, JavaScript, Java और C#, Python, SQL स्ट्रिंग लिटरल, CSV फ़ील्ड, XML टेक्स्ट और एट्रिब्यूट, रेगुलर एक्सप्रेशन और POSIX शेल कमांड। हर लक्ष्य अपनी भाषा के नियम मानता है, इसलिए परिणाम बिना सिंटैक्स त्रुटि के सीधे कोड में पेस्ट किया जा सकता है।
आम इस्तेमाल: कई पंक्तियों वाला संदेश या Windows पाथ JSON कॉन्फ़िग फ़ाइल में डालना, HTML का टुकड़ा JavaScript स्ट्रिंग में रखना, स्पेस वाले फ़ाइल नाम को शेल स्क्रिप्ट के लिए कोट करना, या price (USD) जैसे शाब्दिक खोज शब्द को ऐसे रेगुलर एक्सप्रेशन में बदलना जो उसे हूबहू ढूँढे।
इस्तेमाल कैसे करें
- एस्केप या अनएस्केप चुनें।
- भाषा या फ़ॉर्मैट चुनें।
- टेक्स्ट इनपुट में पेस्ट करें या उदाहरण पर क्लिक करें। टाइप करते समय परिणाम अपडेट होता है।
- आउटपुट कॉपी करें, या इनपुट के रूप में इस्तेमाल करें दबाकर उल्टा बदलें और जाँचें कि मूल टेक्स्ट वापस मिलता है।
JSON, JavaScript, Java/C# और Python में आप सभी गैर-ASCII अक्षरों को भी एस्केप कर सकते हैं, जिससे शुद्ध ASCII स्ट्रिंग मिलती है जो किसी भी फ़ाइल एन्कोडिंग में नहीं बिगड़ती।
उदाहरण
एक ही पंक्ति अलग-अलग लक्ष्यों के लिए एस्केप की गई:
Input: He said "hi" in C:\Temp
JSON: He said \"hi\" in C:\\Temp
SQL: He said "hi" in C:\Temp (only ' is doubled)
Regex: He said "hi" in C:\\Temp
Shell: 'He said "hi" in C:\Temp'
हर फ़ॉर्मैट के नियम
- JSON: कोट, बैकस्लैश और कंट्रोल अक्षरों को ठीक
JSON.stringifyकी तरह एस्केप करता है। - JavaScript: इसके अलावा सिंगल कोट, बैकटिक, वर्टिकल टैब और लाइन सेपरेटर U+2028 व U+2029 को भी एस्केप करता है।
- Java / C#: बैकस्लैश एस्केप और
\uXXXX; अनएस्केप में Java के ऑक्टल एस्केप और C# के\xव\Uभी स्वीकार होते हैं। - Python:
\x,\uऔर\Uके साथ बैकस्लैश एस्केप; अज्ञात एस्केप जैसे के तैसे रहते हैं। - SQL: मानक SQL स्ट्रिंग लिटरल के लिए सिंगल कोट दोहरे करता है।
- CSV: वैल्यू में कॉमा, कोट, नई पंक्ति या किनारों पर स्पेस हो तो उसे डबल कोट में रखता है और अंदर के कोट दोहरे करता है।
- XML: पाँच पूर्वनिर्धारित एंटिटी से बदलता है; अनएस्केप में संख्यात्मक कैरेक्टर रेफ़रेंस भी डिकोड करता है।
- रेगुलर एक्सप्रेशन: खास अर्थ वाले हर अक्षर से पहले बैकस्लैश लगाता है, ताकि पैटर्न टेक्स्ट से अक्षरशः मेल खाए।
- शेल: वैल्यू को सिंगल कोट में रखता है, जिनके अंदर POSIX शेल कोई विस्तार नहीं करते, और अंदर के कोट को
'\''लिखता है।
अक्सर पूछे जाने वाले सवाल
› स्ट्रिंग को एस्केप करने का क्या मतलब है?
स्ट्रिंग लिटरल के अंदर कुछ अक्षरों का खास अर्थ होता है, जैसे उसे खत्म करने वाला कोट या नई पंक्ति। एस्केप करना इन्हें एक सुरक्षित क्रम से बदल देता है, आम तौर पर बैकस्लैश के बाद एक अक्षर, ताकि स्ट्रिंग को कोड, क्वेरी या फ़ाइल में बिना कुछ तोड़े पेस्ट किया जा सके।
› क्या स्ट्रिंग के आसपास के कोट भी पेस्ट करूँ?
नहीं। सिर्फ़ सामग्री पेस्ट करें। एस्केप किया गया परिणाम वही है जो आपके कोड में दोनों कोट के बीच जाता है। CSV और शेल, जो पूरी वैल्यू को कोट करते हैं, उनमें ज़रूरत पड़ने पर टूल बाहरी कोट खुद जोड़ देता है।
› क्या SQL एस्केपिंग SQL इंजेक्शन रोकने के लिए काफ़ी है?
सिंगल कोट को दोहरा करने से मान्य स्ट्रिंग लिटरल बनता है, जो हाथ से क्वेरी लिखते या माइग्रेशन स्क्रिप्ट तैयार करते समय काम आता है। ऐप्लिकेशन कोड में हमेशा पैरामीटराइज़्ड क्वेरी या प्रिपेयर्ड स्टेटमेंट इस्तेमाल करें, स्ट्रिंग जोड़कर SQL न बनाएँ।
› अनएस्केप करते समय अज्ञात एस्केप सीक्वेंस की त्रुटि क्यों आती है?
हर भाषा अलग-अलग एस्केप स्वीकार करती है। जैसे JSON में \x या \0 नहीं होते, इसलिए टूल उस पहले सीक्वेंस की जगह बताता है जिसे चुनी गई भाषा अस्वीकार करेगी। Python अपने इंटरप्रेटर की तरह \d जैसे अज्ञात एस्केप को जस का तस रखता है।
› क्या मेरा टेक्स्ट अपलोड होता है?
नहीं। एस्केप और अनएस्केप आपके ब्राउज़र में चलते हैं और सर्वर पर कुछ नहीं भेजा जाता।