URL एन्कोडर / डिकोडर
टेक्स्ट को URL-safe percent-encoded फ़ॉर्मेट में एन्कोड करें या encoded URL को plain text में डिकोड करें। पूरी URL को scheme, host, path और query parameters में भी parse करता है।
URL encoding क्या है?
URL encoding (percent-encoding) URLs में unsafe characters को percent sign और उसके hex value से replace करती है। Spaces %20 बन जाते हैं, ampersands %26, और जापानी जैसे non-ASCII characters multi-byte encodings में बदलते हैं। यह ensure करता है कि URLs browsers और servers के लिए valid और parseable हैं। Encoder के नीचे का URL parser किसी भी URL को उसके components में तोड़ देता है ताकि inspection आसान हो।
encodeURI vs encodeURIComponent
encodeURI() पूरा URL encode करता है लेकिन URL syntax वाले characters (://?#&=) को preserve करता है। encodeURIComponent() A-Z, a-z, 0-9 और कुछ symbols (-_.!~*'()) के अलावा सब encode करता है। individual parameter values के लिए encodeURIComponent() और complete URLs के लिए encodeURI() का उपयोग करें। यह टूल दोनों modes को support करता है।
URL parsing
Encoder के नीचे का parser किसी भी URL को उसके components में तोड़ता है: protocol, host, port, path, query parameters और fragment। हर query parameter key-value pair के रूप में दिखता है। API endpoints debug करने, redirect URLs verify करने और complex query strings को एक नज़र में समझने के लिए उपयोगी।
Base64 encoding के लिए हमारा Base64 encoder / decoder इस्तेमाल करें।
सामान्य उपयोग
- क्वेरी स्ट्रिंग निर्माण: इंजेक्शन और टूटे हुए अनुरोधों को रोकने के लिए उपयोगकर्ता-आपूर्त खोज शब्दों, फ़िल्टर, या फ़ॉर्म इनपुट को URL में जोड़ने से पहले एन्कोड करें।
- वेबहुक और रीडायरेक्ट URL निर्माण: OAuth और वेबहुक फ्लो में कॉलबैक URL पैरामीटर एन्कोड करें ताकि यह तृतीय-पक्ष रीडायरेक्ट श्रृंखलाओं के माध्यम से सुरक्षित रूप से गुजरे।
- ईमेल अभियान लिंक ट्रैकिंग: ट्रैकिंग लिंक के अंदर UTM पैरामीटर और गंतव्य URL एन्कोड करें ताकि ईमेल क्लाइंट उन्हें न तोड़ें।
- API एंडपॉइंट डीबगिंग: मूल पैरामीटर को मानव-पठनीय रूप में पढ़ने के लिए सर्वर लॉग या त्रुटि संदेश से प्रतिशत-एन्कोडेड URL डीकोड करें।
- अंतर्राष्ट्रीयकृत URL निर्माण: अंतर्राष्ट्रीय वेब अनुप्रयोगों में उपयोग के लिए URL में गैर-ASCII अक्षर (उच्चारण चिह्नित अक्षर, चीनी, अरबी, हिंदी) एन्कोड करें।
- फ़ाइल पथ URL एन्कोडिंग: रिक्त स्थान या विशेष अक्षर वाले फ़ाइल नामों को एन्कोड करें ताकि वे URL पथ खंड के रूप में सही ढंग से काम करें।
- सोशल मीडिया लिंक साझाकरण: सोशल मीडिया मेटा टैग में एम्बेड करने से पहले URL एन्कोड करें ताकि प्लेटफॉर्म पैरामीटर को हटाए या गलत समझे नहीं।
FAQ
URLs में spaces %20 क्यों बनते हैं?
Space URL का valid character नहीं है — URLs ASCII के safe subset तक सीमित हैं। %20 space (ASCII में 0x20) का percent-encoded form है। application/x-www-form-urlencoded वाले HTML form submissions में spaces + के रूप में भी दिख सकते हैं, लेकिन URL path या query value के अंदर %20 standard है।
URL encoding और Base64 में क्या फ़र्क है?
URL encoding special characters escape करके text को URL-safe बनाती है — मुख्य रूप से URL syntax के साथ compatibility के लिए। Base64 binary डेटा को ASCII text में बदलता है, मुख्य रूप से text-only channels से binary भेजने के लिए। ये अलग-अलग problems के लिए अलग-अलग tools हैं, हालाँकि कभी-कभी combine करते हैं (पहले Base64, फिर URL-encode)।
क्या मुझे पूरा URL encode करना चाहिए या सिर्फ़ parameters?
आमतौर पर सिर्फ़ parameters। Individual query values के लिए "Encode component" mode (default) का इस्तेमाल करें। "Encode full URL" तभी इस्तेमाल करें जब ऐसा URL हो जिसके path या hostname में non-ASCII characters हैं और आपको URL structure बरक़रार रखते हुए उन्हें escape करना है।
क्या URL एन्कोडर मेरा डेटा कहीं भेजता है?
नहीं। सभी एन्कोडिंग और डिकोडिंग पूरी तरह आपके ब्राउज़र में चलती है। आपके URLs और टेक्स्ट डेटा कभी आपके डिवाइस से बाहर नहीं जाते।
encodeURI और encodeURIComponent में क्या अंतर है?
encodeURI पूरा URL एन्कोड करता है और /, : और ? जैसे URL संरचना के अर्थ वाले कैरेक्टर सुरक्षित रखता है। encodeURIComponent एक ही मान एन्कोड करता है और उन कैरेक्टर को भी बदलता है — इसे व्यक्तिगत क्वेरी स्ट्रिंग मानों के लिए उपयोग करें।
आँकड़ों में
- RFC 3986 (2005) 18 आरक्षित वर्णों को परिभाषित करता है जिन्हें URLs में उनकी वाक्य-विन्यास भूमिका के बाहर प्रतिशत-एन्कोड किया जाना चाहिए
- अधिकतम ब्राउज़र संगतता के लिए, URLs व्यवहार में 2,048 वर्णों से अधिक नहीं होने चाहिए
- सभी गैर-ASCII वर्ण (127 से ऊपर के कोड पॉइंट) URL में प्रकट होने से पहले UTF-8 एन्कोड किए जाने चाहिए, फिर प्रतिशत-एन्कोड किए जाने चाहिए
- अंतर्राष्ट्रीयकृत डोमेन नाम Punycode एन्कोडिंग का उपयोग करते हैं — münchen.de xn--mnchen-3ya.de बन जाता है