TanodTools
HI

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

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

पूरी तरह आपके ब्राउज़र में चलता है

दिशा

URL को हिस्सों में बाँटें

लगभग 5 MB तक का टेक्स्ट। आप जैसे-जैसे टाइप करते हैं, नतीजे अपडेट होते हैं।

URL को कैसे एन्कोड या डिकोड करें

  1. एन्कोड या डिकोड चुनें, फिर चुनें कि टेक्स्ट क्या है: कोई एक मान (कंपोनेंट), पूरा URL, या फ़ॉर्म डेटा।
  2. अपना टेक्स्ट टाइप या पेस्ट करें। नतीजा टाइप करते ही नीचे दिखता है; टूटा हुआ एस्केप अपनी जगह के साथ बताया जाता है।
  3. नतीजा कॉपी करें, या पूरा URL नीचे के पार्सर में पेस्ट करके उसका होस्ट, पाथ और क्वेरी पैरामीटर देखें।

URL एन्कोडिंग क्या करती है

URL में ASCII अक्षरों का सीमित समूह ही हो सकता है, और उनमें से कुछ का एक काम होता है: / पाथ सेगमेंट को अलग करता है, ? क्वेरी शुरू करता है, & और = उसे नामों और मानों में बाँटते हैं, # फ़्रैगमेंट शुरू करता है। परसेंट-एन्कोडिंग बाकी हर बाइट को % और दो हेक्स अंकों के रूप में लिखती है, ताकि R&D / 2026 जैसा मान क्वेरी स्ट्रिंग के अंदर बनावट समझे जाने के खतरे के बिना जा सके: R%26D%20%2F%202026।

टेक्स्ट पहले UTF-8 बाइट में बदला जाता है, इसीलिए एक एक्सेंट वाला अक्षर दो एस्केप बनता है और एक इमोजी चार। डिकोडिंग प्रक्रिया को उलटती है और जाँचती है कि बाइट मान्य UTF-8 बनाते हैं। यह टूल अपने सख़्त रीडर से डिकोड करता है, इसलिए आम "URI malformed" एरर की जगह वह बताता है कि कौन-सा एस्केप कहाँ टूटा है।

तीनों मोड तीन आम स्थितियों से मेल खाते हैं। जब आप क्वेरी पैरामीटर या पाथ सेगमेंट बना रहे हों, तो एक मान (कंपोनेंट) एन्कोड करें। पूरा URL तभी एन्कोड करें जब आपके पास पूरा पता हो जिसमें स्पेस या गैर-ASCII अक्षर हों। फ़ॉर्म पोस्ट की बॉडी के लिए, या HTML फ़ॉर्म जैसे बनाई गई क्वेरी स्ट्रिंग के लिए फ़ॉर्म डेटा इस्तेमाल करें।

सुझाव

  • एस्केप की जगह साफ़, पढ़ने लायक पाथ चाहिए? उसे स्लग जनरेटर से बनाएं।
  • URL में बाइनरी डेटा आमतौर पर Base64url होता है, परसेंट-एन्कोडिंग नहीं: Base64 एन्कोड और डिकोड आज़माएं।
  • क्वेरी स्ट्रिंग में eyJ से शुरू होने वाला टोकन शायद JWT है। उसे JWT डिकोडर से पढ़ें।

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

कंपोनेंट और पूरे URL एन्कोडिंग में क्या फ़र्क है?

कंपोनेंट एन्कोडिंग (JavaScript का encodeURIComponent) अक्षरों, अंकों और - _ . ! ~ * ' ( ) के अलावा सब कुछ एस्केप करती है, इसलिए / ? & = जैसे चिह्न %2F %3F %26 %3D बन जाते हैं। इसे किसी एक क्वेरी मान या पाथ सेगमेंट के लिए इस्तेमाल करें। पूरा URL एन्कोडिंग (encodeURI) उन चिह्नों को छोड़ देती है जो URL को उसकी बनावट देते हैं और सिर्फ़ स्पेस, गैर-ASCII अक्षर और कुछ अन्य को एस्केप करती है, ताकि पूरा पता काम का बना रहे।

फ़ॉर्म एन्कोडिंग कब इस्तेमाल करूँ?

फ़ॉर्म एन्कोडिंग (application/x-www-form-urlencoded) वह है जो HTML फ़ॉर्म भेजता है और जो ज़्यादातर क्वेरी स्ट्रिंग इस्तेमाल करती हैं। यह स्पेस को + लिखती है और अक्षरों, अंकों और * - . _ के अलावा सब कुछ एस्केप करती है। इस मोड में डिकोड करते समय + को स्पेस पढ़ा जाता है; दूसरे मोड में वह प्लस चिह्न ही रहता है।

एक्सेंट वाले अक्षर और इमोजी कैसे एन्कोड होते हैं?

UTF-8 बाइट के रूप में, हर एक % और दो हेक्स अंकों के रूप में लिखा जाता है, जो ब्राउज़र और सर्वर अपेक्षा करते हैं। उदाहरण के लिए é बनता है %C3%A9। डिकोड करते समय जाँचा जाता है कि बाइट मान्य UTF-8 बनाते हैं या नहीं, और न बनाएं तो बताया जाता है।

डिकोड करने पर एरर क्यों आता है?

हर परसेंट चिह्न के बाद दो हेक्स अंक (0-9, A-F) होने चाहिए। अकेला %, %A जैसा कटा हुआ एस्केप, या ऐसे बाइट जो मान्य UTF-8 नहीं हैं, अपनी जगह के साथ बताए जाते हैं, ताकि आप उन्हें खोज सकें। अगर टेक्स्ट में सचमुच का परसेंट चिह्न है, तो उसे %25 लिखा जाना चाहिए।

क्या URL पार्सर उस पते पर जाता है?

नहीं। यह टेक्स्ट को हिस्सों में बाँटने के लिए ब्राउज़र के बने URL पार्सर का इस्तेमाल करता है; कुछ भी लाया नहीं जाता और कहीं भेजा नहीं जाता। आपका टाइप किया टेक्स्ट इसी टैब में रहता है।

क्या पूरे URL को एक से ज़्यादा बार एन्कोड करना चाहिए?

नहीं। पहले से एन्कोड किए टेक्स्ट को एन्कोड करने पर %20 बन जाता है %2520, जो एक आम बग है। अगर नतीजे में %25 के बाद दो हेक्स अंक दिखें, तो इनपुट शायद पहले से एन्कोड था; उसे पहले डिकोड करें।