URL एनकोडर और डिकोडर

URL और क्वेरी स्ट्रिंग के लिए टेक्स्ट को percent-encode करें, एनकोड किए गए URL डिकोड करें, और किसी भी URL को डिकोड किए गए क्वेरी पैरामीटर के साथ उसके हिस्सों में बाँटें।

आपके ब्राउज़र में चलता हैसाइन-अप ज़रूरी नहींकुछ भी अपलोड नहीं होता

एनकोडेड

URL एनकोड / डिकोड का उपयोग कैसे करें

  1. एनकोड या डिकोड चुनें।
  2. एनकोड करते समय एक क्वेरी वैल्यू या पाथ सेगमेंट के लिए कंपोनेंट, URL का स्ट्रक्चर बनाए रखने के लिए पूरा URL, या फ़ॉर्म डेटा चुनें, जो application/x-www-form-urlencoded के लिए है।
  3. अपना टेक्स्ट पेस्ट करें। नतीजा तुरंत दिखता है; गलत escape उनकी स्थिति के साथ बताए जाते हैं।
  4. उसका होस्ट, पाथ, फ़्रैगमेंट और हर क्वेरी पैरामीटर डिकोड होकर देखने के लिए पूरा URL URL पार्सर में पेस्ट करें।

URL एनकोडिंग क्या है?

URL में सिर्फ़ ASCII अक्षरों का एक सीमित सेट हो सकता है (RFC 3986)। बाकी सब, जिसमें स्पेस, गैर-अंग्रेज़ी अक्षर और &, ? व # जैसे विशेष अर्थ वाले अक्षर शामिल हैं, हर UTF-8 बाइट के लिए प्रतिशत चिह्न और उसके बाद दो hex अंकों के रूप में लिखा जाता है। स्पेस %20 बनता है और é बनता है %C3%A9।

encodeURIComponent बनाम encodeURI

फ़ंक्शनकिसे नहीं छूताकिसके लिए
encodeURIComponentA-Z a-z 0-9 - _ . ~एक क्वेरी वैल्यू, पाथ सेगमेंट या पैरामीटर नाम
encodeURIसाथ में : / ? # [ ] @ ! $ & ' ( ) * + , ; =पूरा URL जिसका स्ट्रक्चर बचा रहना चाहिए

क्वेरी वैल्यू पर encodeURI इस्तेमाल करना एक क्लासिक बग है: वैल्यू के अंदर का & escape नहीं होता, इसलिए वह पैरामीटर को दो हिस्सों में बाँट देता है। सख्त RFC 3986 अनुपालन के लिए इस टूल का कंपोनेंट मोड ! ' ( ) * को भी escape करता है।

स्पेस के लिए %20 या +?

पाथ में स्पेस %20 होना चाहिए। HTML फ़ॉर्म सबमिशन (application/x-www-form-urlencoded) और कई क्वेरी स्ट्रिंग में स्पेस को + लिखा जाता है। डिकोड करते समय फ़ॉर्म डेटा के लिए + को स्पेस मानें चालू करें, और जब असली प्लस चिह्न मायने रखता हो, जैसे jane+test@example.com में, तो इसे बंद करें।

अक्सर पूछे जाने वाले सवाल

डिकोड करते समय “Malformed escape” क्यों मिलता है?
% के बाद ठीक दो hex अंक होने चाहिए। असली प्रतिशत चिह्न, जैसे “50% off” में, को %25 के रूप में एनकोड किया जाना चाहिए था। एरर गलत क्रम की स्थिति दिखाता है।
“Invalid UTF-8 byte sequence” का क्या मतलब है?
बाइट्स UTF-8 में एनकोड नहीं थे, अक्सर इसलिए कि टेक्स्ट Latin-1 इस्तेमाल करने वाले किसी पुराने सिस्टम ने बनाया था (जैसे é के लिए %C3%A9 के बजाय %E9), या स्ट्रिंग किसी अक्षर के बीच में कट गई थी।
पूरा URL एनकोड करूँ या सिर्फ़ पैरामीटर?
हर पैरामीटर नाम और वैल्यू को कंपोनेंट एनकोडिंग से अलग-अलग एनकोड करें, फिर उन्हें = और & से जोड़ें। पूरे URL को कंपोनेंट मोड से एनकोड करने पर :// भी escape हो जाएगा और URL टूट जाएगा।
क्या डबल एनकोडिंग समस्या है?
हाँ। पहले से एनकोड की गई स्ट्रिंग को फिर एनकोड करने पर %20 बन जाता है %2520। अगर आपको hex अंकों के बाद %25 दिखे, तो वैल्यू शायद दो बार एनकोड हुई है। मूल पाने के लिए इसे दो बार डिकोड करें।

संबंधित टूल्स