इसका इस्तेमाल कैसे करें
- टेक्स्ट को टेक्स्ट में चिपकाएँ, और क्रिया में एस्केप या अनएस्केप चुनें।
- फ़ॉर्मेट में स्ट्रिंग की तरह चुनें, जैसे JSON स्ट्रिंग या SQL स्ट्रिंग लिटरल।
- उद्धरण-चिह्न वाले फ़ॉर्मेट के लिए उद्धरण-चिह्न जोड़ें चालू रखें, ताकि उद्धरण वाला टेक्स्ट मिले, या उसे बंद करें, ताकि सिर्फ सामग्री मिले।
- परिणाम पढ़ें, और एस्केप करने पर एस्केप किए गए अक्षर की तालिका।
एस्केप का मतलब
प्रोग्राम, फ़ाइल या क्वेरी में स्ट्रिंग सिर्फ कुछ अक्षर सीधे रख सकती है। एस्केप बाकी अक्षरों की जगह, और उन अक्षरों की जगह जो स्ट्रिंग को खत्म कर देते, एक ऐसा क्रम रखता है जिसे फ़ॉर्मेट उसी अक्षर के रूप में पढ़ता है। हर फ़ॉर्मेट के अपने क्रम होते हैं, इसलिए एक अक्षर कई तरीकों से लिखा जा सकता है, और अनएस्केप उन क्रमों को वापस अक्षरों में पढ़ता है।
- JSON और JavaScript बैकस्लैश इस्तेमाल करते हैं, इसलिए लाइन ब्रेक \n लिखा जाता है।
- HTML और XML एम्परसैंड, नाम और सेमीकोलन इस्तेमाल करते हैं, इसलिए एम्परसैंड & लिखा जाता है।
- CSV और SQL उस अक्षर को दोगुना करते हैं जो फ़ील्ड या स्ट्रिंग को खत्म करता है, इसलिए SQL में सिंगल कोट दो सिंगल कोट के रूप में लिखा जाता है।
हर फ़ॉर्मेट के नियम
- JSON स्ट्रिंग: RFC 8259, धारा 7। डबल कोट, बैकस्लैश और कंट्रोल अक्षर एस्केप होते हैं, और चार हेक्साडेसिमल अंकों वाला \u एस्केप पढ़ा जाता है।
- JavaScript स्ट्रिंग: ECMA-262 के स्ट्रिंग लिटरल। डबल कोट वाली स्ट्रिंग में सिर्फ डबल कोट एस्केप करना पड़ता है, और पुराने ऑक्टल एस्केप मना होते हैं।
- HTML एट्रिब्यूट की वैल्यू: पाँच अक्षर & < > " ' संदर्भ के रूप में लिखे जाते हैं। यह पेज जो नाम नहीं जानता, जैसे é, वैसा ही रहता है।
- XML टेक्स्ट: वही पाँच अक्षर, और अपोस्ट्रोफ़ के लिए '। XML 1.0 में कंट्रोल अक्षर लिखने का कोई तरीका नहीं है, इसलिए ऐसे अक्षर मना होते हैं।
- CSV फ़ील्ड: RFC 4180। जिस फ़ील्ड में कॉमा, उद्धरण-चिह्न या लाइन ब्रेक हो, वह डबल कोट में बंद होता है, और उसके भीतर हर उद्धरण दोगुना होता है।
- SQL स्ट्रिंग लिटरल: PostgreSQL मैनुअल। सिंगल कोट दोगुना होता है। मानक SQL में बैकस्लैश खास नहीं है।
- रेगुलर एक्सप्रेशन: ECMA-262 में गिने गए हर सिंटैक्स अक्षर से पहले बैकस्लैश। अनएस्केप में \d जैसे एस्केप रहते हैं, क्योंकि वे वर्ग हैं।
- C# या Java स्ट्रिंग: वे एस्केप जो दोनों भाषाएँ पढ़ती हैं। लाइन ब्रेक \n लिखा जाता है, और बाकी कंट्रोल अक्षर \u एस्केप से।
- शेल का सिंगल-कोट वाला टेक्स्ट: POSIX। सिंगल कोट के भीतर कुछ भी खास नहीं है, इसलिए कोट को '\'' लिखा जाता है (कोट बंद करें, उसे एस्केप करें, फिर शुरू करें)।
आसानी से होने वाली गलतियाँ
- टेक्स्ट को दो बार एस्केप करने पर बैकस्लैश दोगुने हो जाते हैं, इसलिए परिणाम में \\n दिखता है, जहाँ पहले एस्केप ने \n दिया था।
- JavaScript फ़ाइल में रखी JSON स्ट्रिंग को फ़ाइल में अपने एस्केप चाहिए, और किसी एप्लिकेशन के भीतर SQL स्ट्रिंग को भी भाषा के एस्केप चाहिए हो सकते हैं।
- इन फ़ॉर्मेट में आधा इमोजी नहीं लिखा जा सकता, इसलिए पेज उसे मना करता है। अक्षर फिर से लिखें।
हल किया हुआ उदाहरण: बैकस्लैश, लाइन ब्रेक और उद्धरण वाली JSON स्ट्रिंग
टेक्स्ट He said "hi" & left., फिर एक लाइन ब्रेक, और फिर Path: C:\temp है। इसमें दो उद्धरण-चिह्न, एक लाइन ब्रेक और एक बैकस्लैश हैं। उद्धरण-चिह्न के साथ JSON स्ट्रिंग के रूप में एस्केप करने पर वह "He said \"hi\" & left.\nPath: C:\\temp" बन जाता है। तालिका उन अक्षरों की गिनती देती है जो किसी और तरीके से लिखे गए।
| अक्षर | इस रूप में लिखा | बार |
|---|---|---|
| " | \" | 2 |
| U+000A | \n | 1 |
| \ | \\ | 1 |
अक्सर पूछे जाने वाले सवाल
क्या टेक्स्ट किसी सर्वर को भेजा जाता है?
नहीं। एस्केप और अनएस्केप आपके ब्राउज़र में चलते हैं, इसलिए जिस टेक्स्ट में पासवर्ड या टोकन हो, वह आपके डिवाइस पर रहता है।
JSON में \x41 को अनएस्केप करने से मना क्यों किया जाता है?
JSON में \x एस्केप नहीं है। उसमें \u के बाद चार हेक्साडेसिमल अंक होते हैं, इसलिए अक्षर A \u0041 लिखा जाता है। JavaScript स्ट्रिंग \x41 स्वीकार करती है, इसलिए दोनों फ़ॉर्मेट अलग सूचीबद्ध हैं।
JavaScript स्ट्रिंग में सिंगल कोट क्यों छोड़े जाते हैं?
डबल कोट वाली स्ट्रिंग में सिर्फ उसके डबल कोट एस्केप होने चाहिए। उद्धरण-चिह्न विकल्प चालू होने पर परिणाम डबल कोट में लिपटता है, इसलिए वहाँ सिंगल कोट साधारण अक्षर है।
SQL में बैकस्लैश एस्केप क्यों नहीं होता?
मानक SQL किसी स्ट्रिंग स्थिरांक में बैकस्लैश को खास नहीं मानता। कुछ डेटाबेस, जैसे डिफॉल्ट रूप से MySQL, ऐसा करते हैं, इसलिए SQL स्ट्रिंग में बैकस्लैश लिखने से पहले अपने डेटाबेस के नियम जाँच लें।
“उद्धरण-चिह्न जोड़ें” क्या बदलता है?
चालू होने पर एस्केप किया गया टेक्स्ट फ़ॉर्मेट के उद्धरण-चिह्नों में लिपटता है, जैसे JSON के लिए डबल कोट या SQL के लिए सिंगल कोट। सिर्फ सामग्री चाहिए, जैसे किसी पहले से उद्धृत स्ट्रिंग के भीतर डालने के लिए, तो इसे बंद करें।
मेरे टेक्स्ट में उद्धरण-चिह्न नहीं है, फिर भी CSV परिणाम में उद्धरण क्यों हैं?
RFC 4180 माँगता है कि जिस फ़ील्ड में कॉमा, उद्धरण-चिह्न या लाइन ब्रेक हो, वह उद्धरण-चिह्नों में बंद हो। सादा फ़ील्ड बिना उद्धरण-चिह्न के, जैसा है वैसा लिखा जाता है।
XML के लिए कंट्रोल अक्षर मना क्यों है?
XML 1.0 U+0001 जैसे अक्षरों को किसी भी रूप में अनुमति नहीं देता, संदर्भ के रूप में भी नहीं, इसलिए पेज उन्हें लिख नहीं सकता। पहले उन्हें टेक्स्ट से हटा दें।
स्रोत
- RFC 8259 (अंग्रेजी में): The JavaScript Object Notation (JSON) Data Interchange Format, धारा 7 (IETF)
- ECMA-262 (अंग्रेजी में): ECMAScript Language Specification, string literals and regular expression syntax
- W3C (अंग्रेजी में): XML 1.0 (Fifth Edition), धारा 4.6, predefined entities
- RFC 4180 (अंग्रेजी में): Common Format and MIME Type for Comma-Separated Values (CSV) Files (IETF)
- PostgreSQL मैनुअल (अंग्रेजी में): string constants (sql-syntax-lexical)
- POSIX Shell and Utilities (अंग्रेजी में): धारा 2.2.2, single-quotes (The Open Group)
- Java Language Specification (अंग्रेजी में): अध्याय 3, literals and escape sequences (Oracle)
- C# language specification (अंग्रेजी में): lexical structure (Microsoft)
- MySQL मैनुअल (अंग्रेजी में): string literals and the backslash escape character
आँकड़े और टेक्स्ट आखिरी बार मंगलवार, 10 नवंबर 2026 को जाँचे गए।