URL एन्कोडर

ब्राउज़र में चलता है एन्कोडिंग

encodeURIComponent, encodeURI या application/x-www-form-urlencoded नियमों (स्पेस के लिए +) से एन्कोड करें। ठीक-ठीक देखें कि कौन-कौन से कैरेक्टर एस्केप हुए।

गोपनीयता: यह टूल पूरी तरह आपके ब्राउज़र में चलता है। आपका इनपुट कभी आपके डिवाइस से बाहर नहीं जाता।
टूल लोड हो रहा है…

URL किन हिस्सों से बनता है, और URL एन्कोडिंग क्या करती है?

URL में स्कीम, अथॉरिटी (होस्ट और पोर्ट), पाथ, key=value जोड़ों की वैकल्पिक क्वेरी स्ट्रिंग और वैकल्पिक फ़्रैगमेंट होता है (RFC 3986)। URL के अंदर अर्थ रखने वाले कैरेक्टर — स्पेस, &, =, /, ? और ASCII से बाहर का सब कुछ — परसेंट-एन्कोड होने चाहिए (स्पेस %20 बनता है) ताकि रिसीवर डेटा और संरचना में फ़र्क कर सके। ब्राउज़र URL पार्स और सीरियलाइज़ करते समय WHATWG URL Standard मानते हैं।

URL एन्कोडर कैसे इस्तेमाल करें

  1. वैल्यू या URL पेस्ट करें।
  2. मोड चुनें: क्वेरी वैल्यू के लिए component, पूरे URL के लिए URI, HTML फ़ॉर्म बॉडी के लिए form।
  3. एस्केप हुए कैरेक्टर की तालिका जाँचें।
  4. एन्कोड किया हुआ आउटपुट कॉपी करें।
चार मुख्य modes में वही कैरेक्टर: डैश का मतलब है कि वह mode कैरेक्टर को जैसा है वैसा छोड़ देता है।
कैरेक्टरcomponenturiformrfc3986
स्पेस%20%20+%20
&%26एन्कोड नहीं होता%26%26
=%3Dएन्कोड नहीं होता%3D%3D
/%2Fएन्कोड नहीं होता%2F%2F
?%3Fएन्कोड नहीं होता%3F%3F
é%C3%A9%C3%A9%C3%A9%C3%A9
! ' ( )एन्कोड नहीं होताएन्कोड नहीं होता%21 %27 %28 %29%21 %27 %28 %29
*एन्कोड नहीं होताएन्कोड नहीं होताएन्कोड नहीं होता%2A
~एन्कोड नहीं होताएन्कोड नहीं होता%7Eएन्कोड नहीं होता
- . _एन्कोड नहीं होताएन्कोड नहीं होताएन्कोड नहीं होताएन्कोड नहीं होता
  • componentencodeURIComponent (क्वेरी वैल्यूज़)
  • uriencodeURI (पूरा URL, / ? & = को बनाए रखता है)
  • formapplication/x-www-form-urlencoded (स्पेस → +)
  • rfc3986RFC 3986 स्ट्रिक्ट (! * ' ( ) भी एन्कोड करता है)

“हर कैरेक्टर एन्कोड करें” हर byte को एस्केप करता है, अक्षर भी। हर ख़ाना टूल के अपने encoder से बनता है।

URL एन्कोडर की खूबियाँ

  • encodeURIComponent, encodeURI, form-urlencoded (स्पेस के लिए +), सख़्त RFC 3986 और सब कुछ एन्कोड करने वाले मोड
  • हर एस्केप हुए कैरेक्टर की तालिका, उसके कोड पॉइंट और एन्कोडिंग के साथ
  • वैल्यू की सूचियों के लिए हर लाइन को अलग-अलग एन्कोड करें
  • चुना हुआ मोड इनपुट पर ठीक न बैठे तो संकेत (जैसे encodeURIComponent के साथ पूरा URL)
  • लंबाई के आँकड़ों के साथ लाइव नतीजे

URL एन्कोडर का उदाहरण

यूनिकोड वाली क्वेरी वैल्यू एन्कोड करना

इनपुट:

q=café & thé

आउटपुट:

q%3Dcaf%C3%A9%20%26%20th%C3%A9

URL एन्कोडर के बारे में अक्सर पूछे जाने वाले सवाल

encodeURIComponent या encodeURI — मुझे किसकी ज़रूरत है?

क्वेरी स्ट्रिंग या पाथ सेगमेंट में जाने वाली किसी एक वैल्यू के लिए encodeURIComponent इस्तेमाल करें: यह "&", "=", "/" और "?" को एस्केप करता है। पूरे URL के लिए encodeURI इस्तेमाल करें, ताकि उसके स्ट्रक्चर वाले कैरेक्टर ज्यों के त्यों बने रहें।

स्पेस कभी "+" और कभी "%20" क्यों बनते हैं?

"+" HTML फ़ॉर्म की परंपरा है (application/x-www-form-urlencoded) और सिर्फ़ क्वेरी स्ट्रिंग तथा फ़ॉर्म बॉडी में मान्य है। "%20" हर जगह चलता है। "+" पाने के लिए "form" मोड चुनें।

RFC 3986 का सख़्त मोड क्या है?

JavaScript का encodeURIComponent ! * ' ( ) को एस्केप नहीं करता, जबकि RFC 3986 उन्हें रिज़र्व्ड मानता है। सख़्त मोड उन्हें भी एन्कोड करता है, जो PHP के rawurlencode और OAuth 1.0 के सिग्नेचर नियमों से मेल खाता है।

यूनिकोड कैरेक्टर कैसे एन्कोड होते हैं?

उन्हें पहले UTF-8 बाइट में बदला जाता है और फिर हर बाइट %XX बन जाता है, इसलिए "é" %C3%A9 बनता है और अरबी अक्षर दो या तीन एस्केप बनते हैं।

तकनीकी नोट्स

Percent-encoding (RFC 3986) UTF-8 रूप के हर बाइट को %XX से बदल देती है। कौन-से कैरेक्टर ज्यों के त्यों रहते हैं, यह मोड पर निर्भर करता है: encodeURIComponent अक्षर, अंक और - _ . ! ~ * ' ( ) छोड़ देता है; encodeURI इनके अलावा URL की बनावट वाले कैरेक्टर ; , / ? : @ & = + $ # भी छोड़ता है; form मोड WHATWG URL Standard के application/x-www-form-urlencoded सीरियलाइज़र का पालन करता है — सिर्फ़ अक्षर, अंक और * - . _ बचते हैं और स्पेस "+" बनता है (इसलिए ~ ! ' ( ) क्रमशः %7E %21 %27 %28 %29 बनते हैं); सख़्त मोड सिर्फ़ RFC 3986 के अनरिज़र्व्ड कैरेक्टर (अक्षर, अंक, - . _ ~) छोड़ता है; और "हर कैरेक्टर एन्कोड करें" विकल्प हर बाइट एन्कोड करता है, अक्षरों समेत। हर मोड में अकेले सरोगेट, जिनसे encodeURIComponent एरर फेंक देता, U+FFFD से बदल दिए जाते हैं।

संदर्भ

  • RFC 3986: Uniform Resource Identifier (URI): Generic SyntaxIETF · 2005URI के भाग (स्कीम, अथॉरिटी, पाथ, क्वेरी, फ़्रैगमेंट), रिज़र्व्ड कैरेक्टर और परसेंट-एन्कोडिंग।
  • URL StandardWHATWGब्राउज़र वास्तव में URL को कैसे पार्स, सीरियलाइज़ और एन्कोड करते हैं, application/x-www-form-urlencoded सहित।