ऑनलाइन स्ट्रिंग एस्केप करने का तेज़ और प्राइवेट तरीका
कोड लिखते या डेटा फ़ॉर्मैट करते समय, स्पेशल कैरेक्टर्स आपके सिंटैक्स को आसानी से ब्रेक कर सकते हैं। JSON पेलोड में एक फालतू कोट मार्क, JavaScript वेरिएबल में अनएस्केप्ड न्यूलाइन, या CSV फ़ाइल में अनहैंडल्ड कॉमा पार्सिंग एरर या यहाँ तक कि सिक्योरिटी से जुड़ी कमियों का कारण बन सकता है।
यह टूल विभिन्न प्रोग्रामिंग कॉन्टेक्स्ट के लिए टेक्स्ट को सुरक्षित रूप से एनकोड और डिकोड करने का एक तेज़ तरीका प्रदान करता है। चाहे आपको एक भरोसेमंद json escape यूटिलिटी की ज़रूरत हो, या डेटाबेस क्वेरीज़ के लिए लिटरल स्ट्रिंग्स तैयार करने का तरीका चाहिए हो, आपके टाइप करते ही सब कुछ तुरंत अपडेट हो जाता है। क्योंकि यह कन्वर्ज़न पूरी तरह से आपके वेब ब्राउज़र में होता है, इसलिए आपका डेटा पूरी तरह से प्राइवेट रहता है। कोई भी टेक्स्ट कभी भी सर्वर पर नहीं भेजा जाता है, जिससे यह प्रोपराइटरी कोड, डेटाबेस कंटेंट और संवेदनशील API पेलोड के लिए एकदम सुरक्षित है।
समर्थित फॉर्मेट और नियम
विभिन्न भाषाओं और डेटा फॉर्मेट्स में स्पेशल कैरेक्टर्स और उन्हें एस्केप (escape) करने के अलग-अलग नियम होते हैं। यह टूल पांच सामान्य फॉर्मेट्स को सपोर्ट करता है:
JSON: JSON में स्ट्रिंग्स के लिए सख्त डबल कोट्स (double quotes) की आवश्यकता होती है, और न्यूलाइन, टैब और इंटरनल कोट्स जैसे स्पेशल कैरेक्टर्स से पहले बैकस्लैश (backslash) लगाना जरूरी है। यह टूल 100% कंप्लायंट आउटपुट सुनिश्चित करने के लिए स्टैंडर्ड JSON स्ट्रिंगिफिकेशन (stringification) का उपयोग करता है। यदि आपके पास स्ट्रिंगिफाइड पेलोड वाला कोई API रिस्पॉन्स है, तो आप आसानी से unescape json string डेटा को वापस पढ़ने योग्य टेक्स्ट में बदल सकते हैं। परिणामी JSON को फॉर्मेट करने के लिए, आप JSON Formatter का उपयोग कर सकते हैं।
JavaScript: JSON के समान होने के बावजूद, javascript string escape के नियम थोड़े व्यापक हैं। यह टूल स्ट्रिंग्स को सिंगल कोट्स, डबल कोट्स या टेम्पलेट लिटरल्स (बैकटिक्स) के अंदर सुरक्षित रूप से एम्बेड करने के लिए तैयार करता है। यह सिंगल कोट्स ('), बैकटिक्स (`), और टेम्पलेट लिटरल एक्सप्रेशन्स (${) को एस्केप करता है। अनएस्केप (unescape) करते समय, यह स्टैंडर्ड एस्केप्स (\n, \t), हेक्स कोड्स (\x20), ऑक्टल सीक्वेंस और यूनिकोड कोड पॉइंट्स (\u00A9 या \u{1F600}) को रिज़ॉल्व करता है।
SQL: यूज़र इनपुट में अनहैंडल्ड कोट्स (unhandled quotes) के कारण डेटाबेस क्वेरीज़ अक्सर फेल हो जाती हैं। sql escape single quote फीचर सिंगल कोट्स को डबल करने (' को '' में बदलने) के स्टैंडर्ड SQL कन्वेंशन का उपयोग करता है। यह आपको INSERT या UPDATE स्टेटमेंट सिंटैक्स को तोड़े बिना "O'Connor" जैसे नाम या एपॉस्ट्रोफी (apostrophe) वाले टेक्स्ट को सुरक्षित रूप से इन्सर्ट करने की अनुमति देता है।
CSV: कॉमा-सेपरेटेड वैल्यूज़ (Comma-Separated Values) में कॉलम को अलग करने के लिए कॉमा और पंक्तियों (rows) को अलग करने के लिए न्यूलाइन का उपयोग होता है। यदि आपके वास्तविक डेटा में कॉमा, न्यूलाइन, या शुरुआत/अंत में स्पेस है, तो यह टूल पूरी स्ट्रिंग को डबल कोट्स में रैप कर देता है। यदि टेक्स्ट में ही डबल कोट्स हैं, तो उन्हें डबल ("") करके एस्केप किया जाता है, जो RFC 4180 मानकों का सख्ती से पालन करता है।
Regex: रेगुलर एक्सप्रेशन्स (Regular expressions) में *, +, ?, [, और $ जैसे कैरेक्टर्स का उपयोग ऑपरेटर के रूप में किया जाता है। यदि आपको इन कैरेक्टर्स वाली किसी लिटरल स्ट्रिंग (जैसे URL, फ़ाइल पाथ, या गणितीय समीकरण) को मैच करना है, तो आपको उन्हें एस्केप करना होगा। Regex विकल्प स्वचालित रूप से सभी रेगेक्स मेटा-कैरेक्टर्स के पहले बैकस्लैश लगा देता है ताकि उन्हें लिटरल टेक्स्ट के रूप में माना जाए।
सामान्य उपयोग
JSON में JSON एम्बेड करना: कभी-कभी API में एक JSON ऑब्जेक्ट को दूसरे JSON ऑब्जेक्ट के अंदर स्ट्रिंग वैल्यू के रूप में पास करना होता है। आप अपना अंदरूनी JSON सामान्य रूप से लिख सकते हैं, उसे यहाँ पेस्ट कर सकते हैं, और अपने मुख्य पेलोड में उपयोग करने के लिए एस्केप्ड वर्ज़न को कॉपी कर सकते हैं।
SQL स्क्रिप्ट बनाना: यदि आप डेटा माइग्रेट करने या डेटाबेस में नाम और विवरण की सूची डालने के लिए मैन्युअली स्क्रिप्ट लिख रहे हैं, तो आप अपने SQL एडिटर में पेस्ट करने से पहले यह सुनिश्चित करने के लिए रॉ टेक्स्ट को यहाँ पेस्ट कर सकते हैं कि सभी एपोस्ट्रोफी और कोट्स ठीक से एस्केप हो गए हैं।
डायनामिक Regex पैटर्न बनाना: जब आप ऐसा सर्च फीचर बनाते हैं जो यूज़र्स को रेगुलर एक्सप्रेशन का उपयोग करके सटीक वाक्यांश खोजने की सुविधा देता है, तो आपको पहले उनके इनपुट को एस्केप करना होगा। आप इस टूल का उपयोग यह तुरंत चेक करने के लिए कर सकते हैं कि कोई कॉम्प्लेक्स स्ट्रिंग regex इंजन के लिए ठीक से एस्केप होने पर कैसी दिखनी चाहिए।
खराब डेटा को ठीक करना: यदि आपको कोई ऐसी CSV फ़ाइल मिलती है जहाँ कोई विशिष्ट सेल लेआउट को बिगाड़ रहा है क्योंकि उसमें अन-एस्केप्ड लाइन ब्रेक या कॉमा हैं, तो आप रॉ सेल डेटा को यहाँ पेस्ट कर सकते हैं, उसे एस्केप कर सकते हैं, और वापस अपनी रॉ फ़ाइल में पेस्ट कर सकते हैं।
एस्केपिंग क्यों ज़रूरी है
सिंटैक्स कोलिज़न तब होते हैं जब आप जिस डेटा को प्रोसेस कर रहे हैं, उसमें वही कैरेक्टर हों जिनका इस्तेमाल प्रोग्रामिंग भाषा कोड का स्ट्रक्चर बनाने के लिए करती है। अगर पार्सर किसी स्ट्रिंग को खत्म करने के लिए डबल कोट का इंतज़ार कर रहा है, और उसे आपके टेक्स्ट के अंदर ही डबल कोट मिल जाए, तो वह मान लेगा कि स्ट्रिंग खत्म हो गई है। इसके बाद आने वाले टेक्स्ट की वजह से सिंटैक्स एरर आ जाएगा।
एस्केपिंग पार्सर के लिए एक सिग्नल का काम करता है। एस्केप कैरेक्टर (आमतौर पर बैकस्लैश \) जोड़कर, आप पार्सर को बताते हैं कि "अगले कैरेक्टर को कमांड नहीं, बल्कि नॉर्मल टेक्स्ट मानें।" अनएस्केपिंग इस प्रोसेस को उल्टा कर देता है; यह बैकस्लैश को हटाकर टेक्स्ट को उसके असली और पढ़ने लायक रूप में वापस ले आता है।
अन्य तरह की डेटा एन्कोडिंग के लिए, आपके लिए HTML Encode/Decode या URL Encode/Decode टूल्स भी उपयोगी हो सकते हैं।