tigtools

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

URL में इस्तेमाल के लिए टेक्स्ट एन्कोड करें, या %20 जैसे एस्केप को वापस पढ़ने योग्य टेक्स्ट में बदलें। किसी एक वैल्यू के लिए कंपोनेंट चुनें, या पूरे पते के लिए पूरा URL चुनें।

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

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

घटक (encodeURIComponent) अक्षरों, अंकों और - _ . ! ~ * ' ( ) को छोड़कर बाकी सबको escape करता है। इसका इस्तेमाल किसी एक क्वेरी वैल्यू, फ़ॉर्म फ़ील्ड या पाथ सेगमेंट के लिए करें।

इस्तेमाल करने का तरीका

  1. एन्कोड या डिकोड चुनें।
  2. किसी एक वैल्यू (जैसे एक क्वेरी पैरामीटर) के लिए कंपोनेंट चुनें, या पूरे पते के लिए पूरा URL चुनें।
  3. अपना टेक्स्ट लिखें या पेस्ट करें। नतीजा तुरंत दाईं ओर (या फ़ोन पर नीचे) दिखेगा।
  4. नतीजे को कॉपी करें, या कार्रवाई उलटकर दोनों दिशाओं में रूपांतरण जाँचने के लिए “आउटपुट को इनपुट के रूप में इस्तेमाल करें” चुनें।

यह कैसे काम करता है

URL में केवल सीमित ASCII वर्ण इस्तेमाल किए जा सकते हैं। बाकी सभी वर्णों—जैसे स्पेस, उच्चारण-चिह्न वाले अक्षर और इमोजी—को प्रतिशत एस्केप के रूप में लिखा जाता है: वर्ण को UTF-8 बाइट में बदला जाता है और हर बाइट को % के बाद दो हेक्साडेसिमल अंकों के रूप में लिखा जाता है। स्पेस %20, é %C3%A9 और € %E2%82%AC बन जाता है।

कंपोनेंट मोड JavaScript के encodeURIComponent और decodeURIComponent का इस्तेमाल करता है। यह URL में खास अर्थ रखने वाले हर वर्ण को एस्केप करता है, जिनमें / ? # & = + : और @ शामिल हैं। इसलिए नतीजे को क्वेरी वैल्यू या पाथ के किसी एक हिस्से में सुरक्षित रूप से रखा जा सकता है। यह केवल A–Z, a–z, 0–9 और - _ . ! ~ * ' ( ) को बिना बदलाव के छोड़ता है।

पूरा URL मोड encodeURI और decodeURI का इस्तेमाल करता है। यह मानकर चलता है कि इनपुट पहले से ही एक पूरा URL है और ; , / ? : @ & = + $ # जैसे आरक्षित वर्णों को जस का तस छोड़ता है, ताकि पता काम करता रहे। डिकोड करते समय decodeURI इन आरक्षित वर्णों के एस्केप को भी जस का तस छोड़ता है: %2F, %2F ही रहता है, क्योंकि इसे / में बदलने से URL का अर्थ बदल जाएगा।

फ़ॉर्म-डेटा विकल्प application/x-www-form-urlencoded फ़ॉर्मैट का इस्तेमाल करता है, जिसे ब्राउज़र HTML फ़ॉर्म सबमिट करते समय इस्तेमाल करते हैं: स्पेस को %20 के बजाय + लिखा जाता है। इस विकल्प से डिकोड करते समय हर + स्पेस बन जाता है; असली प्लस चिह्न को %2B लिखना होगा।

गलत इनपुट कभी हटाया नहीं जाता। अगर % के बाद दो हेक्साडेसिमल अंक नहीं हैं, या एस्केप का क्रम मान्य UTF-8 नहीं बनाता, तो यह टूल समस्या की जगह दिखाता है और आपका टेक्स्ट बनाए रखता है, ताकि आप उसे ठीक कर सकें।

उदाहरण

क्वेरी स्ट्रिंग में वैल्यू डालना

https://example.com/search?q=… पर “Rock & Roll” खोजने के लिए, कंपोनेंट मोड में केवल वैल्यू को एन्कोड करें: Rock%20%26%20Roll। एन्कोड न करने पर & से q पैरामीटर खत्म हो जाएगा और “ Roll” नाम का नया पैरामीटर शुरू हो जाएगा।

स्पेस और उच्चारण-चिह्नों वाला URL ठीक करना

पूरे URL मोड में, https://example.com/menu/crème brûlée.html बदलकर https://example.com/menu/cr%C3%A8me%20br%C3%BBl%C3%A9e.html हो जाता है। स्लैश और कोलन जस के तस रहते हैं, इसलिए लिंक काम करता है।

लॉग किए गए फ़ॉर्म डेटा को पढ़ना

सर्वर लॉग में name=Jane+Doe&city=S%C3%A3o+Paulo दिखता है। इसे कंपोनेंट मोड में डिकोड करें और “+ को स्पेस मानें” विकल्प चालू करें, ताकि name=Jane Doe&city=São Paulo पढ़ा जा सके।

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

encodeURI और encodeURIComponent में क्या अंतर है?

encodeURIComponent उन वर्णों को एस्केप करता है जो URL के हिस्सों को अलग करते हैं (/ ? # & = + : @ और अन्य), इसलिए इसका इस्तेमाल URL के किसी एक हिस्से के लिए किया जाता है। encodeURI इन वर्णों को बनाए रखता है, इसलिए इसका इस्तेमाल पूरे URL के लिए किया जाता है। क्वेरी वैल्यू पर encodeURI का इस्तेमाल करना एक आम गलती है: वैल्यू में मौजूद & या = एस्केप नहीं होगा और क्वेरी स्ट्रिंग टूट जाएगी।

स्पेस के लिए %20 इस्तेमाल करें या +?

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

डिकोड करते समय मुझे त्रुटि क्यों मिलती है?

डिकोड करना तब विफल होता है, जब % चिह्न के बाद दो हेक्साडेसिमल अंक न हों (उदाहरण के लिए “50% off”), या एस्केप किए गए बाइट मान्य UTF-8 न हों। आमतौर पर इसका मतलब है कि टेक्स्ट को किसी पुराने कैरेक्टर सेट, जैसे Latin-1, से एन्कोड किया गया था (é को %C3%A9 के बजाय %E9 लिखा गया है)। त्रुटि संदेश समस्या की जगह दिखाता है।

पूरे URL मोड में %2F स्लैश में क्यों नहीं बदला?

decodeURI जानबूझकर / ? # & और = जैसे आरक्षित वर्णों के एस्केप को जस का तस रखता है, क्योंकि उन्हें डिकोड करने से URL के हिस्से बदल सकते हैं। हर एस्केप को डिकोड करने के लिए कंपोनेंट मोड इस्तेमाल करें।

किन वर्णों को कभी एन्कोड नहीं किया जाता?

दोनों मोड A–Z, a–z, 0–9 और - _ . ! ~ * ' ( ) को बिना बदलाव के छोड़ते हैं। पूरा URL मोड ; , / ? : @ & = + $ और # को भी जस का तस छोड़ता है।

गोपनीयता

एन्कोडिंग और डिकोडिंग आपके ब्राउज़र में मौजूद JavaScript फ़ंक्शन की मदद से पूरी तरह आपके ब्राउज़र में ही होती है। आपका टेक्स्ट और URL अपलोड या सहेजे नहीं जाते और न ही एनालिटिक्स में शामिल होते हैं।