इसका इस्तेमाल कैसे करें
- टेक्स्ट या लिंक टेक्स्ट या URL में चिपकाएँ।
- क्रिया में एन्कोड या डीकोड चुनें।
- खोज शब्द जैसी एक वैल्यू के लिए दायरा को एक वैल्यू पर रखें। पूरे लिंक के लिए पूरा URL चुनें।
- परिणाम पढ़ें, और जब टेक्स्ट क्वेरी वाला लिंक हो, तो क्वेरी पैरामीटर की तालिका।
परसेंट-एन्कोडिंग क्या करती है
वेब पते में अक्षरों का सिर्फ एक छोटा सेट आ सकता है। बाकी हर अक्षर को उसके UTF-8 रूप के हर बाइट के लिए % चिह्न और दो हेक्साडेसिमल अंकों के रूप में लिखा जाता है। इसलिए तुर्की अक्षर ç %C3%A7 बन जाता है, और स्पेस %20। नियम RFC 3986 की धारा 2.1 में हैं।
ç → UTF-8 बाइट C3 A7 → %C3%A7
- एक वैल्यू वाला एन्कोडिंग सिर्फ A से Z, a से z, 0 से 9 और - _ . ! ~ * ' ( ) को जैसा है वैसा रखता है।
- डीकोडिंग हर मान्य %XX को उसके बाइट में, और बाइट को उनसे बने अक्षरों में बदलती है।
एक वैल्यू या पूरा URL
एक वैल्यू विभाजकों को भी एन्कोड करता है (: / ? # & और +), ताकि क्वेरी वैल्यू वेब पते का ढाँचा न तोड़े। पूरा URL उन विभाजकों को छोड़ देता है, ताकि लिंक अपना रूप रखे। पूरा URL डीकोड करते समय विभाजक को दर्शाने वाला एस्केप, जैसे %2F, एन्कोड ही रहता है, ताकि लिंक का वही अर्थ रहे।
फ़ॉर्म एन्कोडिंग और + चिह्न
HTML फ़ॉर्म स्पेस को + और प्लस चिह्न को %2B लिखते हैं। फ़ॉर्म से लिखी क्वेरी स्ट्रिंग में इसलिए + का मतलब स्पेस होता है। विकल्प फ़ॉर्म एन्कोडिंग इस नियम को पढ़ता और लिखता है। बंद होने पर + प्लस चिह्न ही रहता है, जैसा RFC 3986 कहता है।
डीकोडिंग किसे मना करती है
- % चिह्न जिसके बाद दो हेक्साडेसिमल अंक नहीं हैं, जैसे %E0%A4%A के अंत में।
- ऐसे एस्केप जो मान्य UTF-8 नहीं बनाते, जैसे अकेला बाइट %FF।
- टूटा हुआ अक्षर, जैसे इमोजी का आधा हिस्सा, जो एन्कोड नहीं हो सकता।
हल किया हुआ उदाहरण: खोज वाला लिंक
एक वैल्यू के साथ दिल्ली & मुंबई? को एन्कोड करने पर %E0%A4%A6%E0%A4%BF%E0%A4%B2%E0%A5%8D%E0%A4%B2%E0%A5%80%20%26%20%E0%A4%AE%E0%A5%81%E0%A4%82%E0%A4%AC%E0%A4%88%3F मिलता है। स्पेस, एम्परसैंड और प्रश्न चिह्न सभी एन्कोड होते हैं, और हर देवनागरी अक्षर तीन बाइट लेता है।
पूरा URL और फ़ॉर्म एन्कोडिंग चालू करके डीकोड करने पर https://example.com/khoj?q=%E0%A4%9A%E0%A4%BE%E0%A4%AF+%E0%A4%95%E0%A5%89%E0%A4%AB%E0%A5%80&page=2 का परिणाम https://example.com/khoj?q=चाय कॉफी&page=2 होता है। क्वेरी के दो पैरामीटर हैं: q है चाय कॉफी, और page है 2।
| इनपुट | परिणाम |
|---|---|
| दिल्ली & मुंबई? (एक वैल्यू, एन्कोड) | %E0%A4%A6%E0%A4%BF%E0%A4%B2%E0%A5%8D%E0%A4%B2%E0%A5%80%20%26%20%E0%A4%AE%E0%A5%81%E0%A4%82%E0%A4%AC%E0%A4%88%3F |
| https://example.com/khoj?q=%E0%A4%9A%E0%A4%BE%E0%A4%AF+%E0%A4%95%E0%A5%89%E0%A4%AB%E0%A5%80&page=2 (डीकोड) | https://example.com/khoj?q=चाय कॉफी&page=2 |
अक्सर पूछे जाने वाले सवाल
encodeURI और encodeURIComponent में क्या अंतर है?
encodeURIComponent हर विभाजक को एन्कोड करता है, इसलिए वह क्वेरी स्ट्रिंग की एक वैल्यू के लिए ठीक है। encodeURI वे अक्षर रखता है जो URL को उसका ढाँचा देते हैं, जैसे : / ? # & और =, इसलिए वह पूरे लिंक के लिए ठीक है। एक वैल्यू पहला विकल्प है, और पूरा URL दूसरा।
स्पेस एक जगह %20 और दूसरी जगह + क्यों बनता है?
%20 स्पेस का मानक एस्केप है और URL में कहीं भी मान्य है। + सिर्फ फ़ॉर्म एन्कोडिंग में स्पेस का मतलब है, यानी HTML फ़ॉर्म से लिखी क्वेरी स्ट्रिंग में। लिंक फ़ॉर्म से आया हो तो फ़ॉर्म एन्कोडिंग चालू करें।
%E0%A4%A को मना क्यों किया जाता है?
एस्केप %E0 तीन बाइट के अक्षर की शुरुआत करता है, पर टेक्स्ट %A के बाद खत्म हो जाता है और एस्केप पूरा नहीं है। हर % चिह्न को दो हेक्साडेसिमल अंक चाहिए, और हर बाइट किसी पूरे UTF-8 अक्षर का हिस्सा होना चाहिए।
क्या मेरा लिंक किसी सर्वर को भेजा जाता है?
नहीं। एन्कोडिंग और डीकोडिंग आपके ब्राउज़र में होती हैं, इसलिए टोकन या निजी डेटा वाले लिंक आपके डिवाइस पर रहते हैं।
डीकोड किए गए पैरामीटर में + चिह्न क्यों रहता है?
फ़ॉर्म एन्कोडिंग बंद होने पर + प्लस चिह्न ही रहता है, जैसा RFC 3986 परिभाषित करता है। कई वेब फ़ॉर्म स्पेस को + लिखते हैं, इसलिए उन लिंकों को फ़ॉर्म के इरादे से पढ़ने के लिए विकल्प चालू करें।
स्रोत
- RFC 3986 (अंग्रेजी में): Uniform Resource Identifier (URI): Generic Syntax, धारा 2.1 (IETF)
- ECMA-262 (अंग्रेजी में): encodeURI, encodeURIComponent and decodeURI in the ECMAScript specification
- WHATWG URL Standard (अंग्रेजी में): application/x-www-form-urlencoded parsing
आँकड़े और टेक्स्ट आखिरी बार मंगलवार, 10 नवंबर 2026 को जाँचे गए।