उन्नत विकल्प
+ को स्पेस में बदलें
सक्षम होने पर, + अक्षरों को स्पेस में बदल दिया जाएगा। क्वेरी पैरामीटर डिकोड करते समय यह उपयोगी है।
लाइव मोड
सक्षम होने पर, टाइप करते समय टेक्स्ट स्वचालित रूप से डिकोड हो जाएगा।
ये विकल्प आपको यह नियंत्रित करने में मदद करते हैं कि आपके URLs में एन्कोडेड अक्षर कैसे डिकोड होते हैं।
URL डिकोडिंग क्या है?
URL डिकोडिंग प्रतिशत-एनकोडिंग को उलटती है: यह किसी एनकोडेड URL में मौजूद %XX एस्केप अनुक्रमों को पढ़कर उन्हें उनके मूल वर्णों में बदल देती है। इसी तरह किसी ब्राउज़र, API या लॉग लाइन द्वारा एनकोडेड रूप में दी गई URL से पठनीय क्वेरी स्ट्रिंग, फ़ॉर्म मूल्य या पथ खंड वापस प्राप्त किया जाता है।
URL डिकोडिंग कैसे काम करती है?
URL डिकोडिंग प्रतिशत-एनकोडेड अनुक्रमों को उनके मूल वर्णों में वापस बदलने के लिए एक विशिष्ट प्रक्रिया का पालन करती है:
- इनपुट स्ट्रिंग में प्रतिशत-एनकोडेड एस्केप अनुक्रमों (%XX) की खोज की जाती है
- प्रत्येक %XX को उसके दो हेक्साडेसिमल अंकों से वापस मूल बाइट मान में बदला जाता है
- क्रमागत डिकोडेड बाइट्स को UTF-8 वर्णों में पुनः संयोजित किया जाता है (एक मल्टी-बाइट अनुक्रम एक वर्ण बन जाता है)
- क्वेरी-स्ट्रिंग संदर्भ में, + को स्पेस के रूप में डिकोड किया जाता है (application/x-www-form-urlencoded), जबकि %2B शाब्दिक + बना रहता है
- अनारक्षित वर्ण और पहले से डिकोड किया गया टेक्स्ट बिना बदलाव के पास हो जाते हैं
URL डिकोडर का उपयोग क्यों करें?
- पठनीय आउटपुट: %20, %40 और %3D को वापस स्पेस, @ और = में बदलें ताकि URL वास्तव में क्या कहती है, वह पढ़ा जा सके
- अंतर्राष्ट्रीय टेक्स्ट: उनके UTF-8 बाइट अनुक्रमों से उच्चारण चिह्न वाले और गैर-ASCII वर्ण पुनः निर्मित करें, ताकि %C3%A9 फिर से é के रूप में पढ़े
- डीबगिंग: किसी क्वेरी स्ट्रिंग, OAuth रीडायरेक्ट या वेबहुक पेलोड पर कार्रवाई करने से पहले उसके वास्तविक मान जाँचें
- मानक-अनुरूप: RFC 3986 के अनुसार डिकोड करें — वही नियम जो ब्राउज़र और सर्वर उपयोग करते हैं — ताकि वही दिखे जो वे देखते हैं
URL डिकोडिंग के सामान्य अनुप्रयोग क्या हैं?
URL डिकोडिंग वेब डेवलपमेंट के कई परिदृश्यों में आवश्यक है:
- फ़ॉर्म सबमिशन: application/x-www-form-urlencoded GET और POST डेटा से मूल फ़ील्ड मान वापस पढ़ना
- API डेवलपमेंट: किसी API एंडपॉइंट पर आने वाले प्रतिशत-एनकोडेड पथ और क्वेरी पैरामीटर को अनपैक करना
- फ़ाइल सिस्टम: URL के भीतर यात्रा करने के लिए प्रतिशत-एनकोड किए गए फ़ाइल पथों और नामों को पुनः प्राप्त करना
- लिंक डीबगिंग: साझा या लॉग की गई URL को डिकोड करके उनमें मौजूद विशेष वर्णों और अंतर्राष्ट्रीय टेक्स्ट को देखना
URL डिकोडिंग का उदाहरण कैसा दिखता है?
URL डिकोडिंग के कुछ सामान्य उदाहरण यहाँ हैं: %20 (या +) एक स्पेस बन जाता है, %40 @ बन जाता है, %23 # बन जाता है, %26 & बन जाता है, और %3D = बन जाता है। %C3%A9 जैसा UTF-8 अनुक्रम अंतर्राष्ट्रीय वर्ण é बन जाता है।
परसेंट-एन्कोडिंग क्या है?
परसेंट-एन्कोडिंग RFC 3986 §2.1 द्वारा परिभाषित वह तंत्र है जो URI के अंदर असुरक्षित या आरक्षित वर्णों को दर्शाने के लिए उपयोग होता है। नियम यांत्रिक है: हर वह बाइट जो शाब्दिक रूप से नहीं दिख सकता, एक परसेंट चिह्न के बाद दो हेक्साडेसिमल अंकों — %XX रूप — के रूप में लिखा जाता है, जहाँ XX बाइट का मान है। é जैसे गैर-ASCII वर्ण पहले अपने UTF-8 बाइट क्रम के रूप में एन्कोड किए जाते हैं, फिर प्रत्येक बाइट को अलग-अलग परसेंट-एन्कोड किया जाता है। डेवलपर्स इसका सामना लगभग हर दिन करते हैं: क्वेरी स्ट्रिंग्स, फॉर्म सबमिशन, OAuth कॉलबैक URL, REST API पथ पैरामीटर, और कहीं भी जहाँ URL को विराम चिह्न, स्पेस, या अनारक्षित सेट A–Z a–z 0–9 - _ . ~ से बाहर के वर्ण ले जाने हों।
%C3%A9 को é में डिकोड करना वास्तव में कैसे काम करता है?
एन्कोडेड क्वेरी स्ट्रिंग ?q=caf%C3%A9&lang=fr लें। डिकोडिंग ?q=café&lang=fr उत्पन्न करती है। यहाँ बाइट-दर-बाइट विवरण है:
- इनपुट:
?q=caf%C3%A9&lang=fr - आउटपुट:
?q=café&lang=fr
%C3→ बाइट0xC3(बाइनरी11000011) — 2-बाइट UTF-8 क्रम की लीड बाइट।%A9→ बाइट0xA9(बाइनरी10101001) — कन्टिन्यूएशन बाइट। साथ में,C3 A9U+00E9 का UTF-8 एन्कोडिंग है, जोéहै।?,=, और&वर्ण अछूते छोड़ दिए जाते हैं क्योंकि वे संरचनात्मक हैं — वे क्वेरी और उसके की/वैल्यू जोड़े को सीमांकित करते हैं। शाब्दिकcafभी बिना बदलाव के पास होता है, क्योंकि लोअरकेस ASCII अक्षर अनारक्षित सेट से संबंधित हैं।
decodeURIComponent और decodeURI में क्या अंतर है?
JavaScript दो बिल्ट-इन डिकोडर्स प्रदान करता है, और इन्हें आपस में भ्रमित करना URL संभालने की सबसे आम बग्स में से एक है:
decodeURIComponent(str)हर परसेंट-एन्कोडेड क्रम को डिकोड करता है, जिसमें&,=,?,/, और#जैसे आरक्षित वर्ण शामिल हैं। इसका उपयोग व्यक्तिगत क्वेरी-स्ट्रिंग मानों या पथ खंडों पर करें — कभी भी पूरे URL पर नहीं।decodeURI(str)जानबूझकर रूढ़िवादी है: यह आरक्षित वर्णों को छोड़ देता है। इसे%26देने पर शाब्दिक स्ट्रिंग%26लौटती है,&नहीं। यह पूरे URI के लिए है जहाँ आप चाहते हैं कि संरचना राउंड ट्रिप में बची रहे।
अंगूठे का नियम: यदि स्ट्रिंग URL का एक टुकड़ा है (एक पैरामीटर, एक फ्रैगमेंट, एक एन्कोडेड फ़ाइलनाम), तो decodeURIComponent का उपयोग करें। यह टूल decodeURIComponent की तरह व्यवहार करता है — आपके इनपुट में हर %XX क्रम डिकोड किया जाता है, जिसमें आरक्षित वर्ण भी शामिल हैं।
URL को डिकोड करना ही उसका असली अर्थ पढ़ने का तरीका है। ऊपर एक एनकोडेड स्ट्रिंग चिपकाएँ और हर %XX अनुक्रम सीधे आपके ब्राउज़र में अपने वर्ण में बदल जाएगा — कोई भी डेटा सर्वर को भेजे बिना क्वेरी पैरामीटर डीबग करें, OAuth रीडायरेक्ट जाँचें या उच्चारण चिह्न वाले फ़ाइलनाम वापस पाएँ।