URL Encoding एनकोड और डीकोड
मुफ़्त ऑनलाइन URL Encoding एनकोड और डीकोड टूल। 100% स्थानीय प्रसंस्करण — आपका डेटा कभी आपके डिवाइस से नहीं जाता।
परिणाम यहां प्रदर्शित होगा...
इनपुट → एन्कोड
Usage Guide
URL एन्कोडिंग के बारे में
URL एन्कोडिंग (जिसे प्रतिशत एन्कोडिंगके नाम से भी जाना जाता है, जो RFC 3986में परिभाषित है) एक एन्कोडिंग विधि है जो URL में विशेष वर्णों को सुरक्षित वर्णों में बदलती है। URL केवल ASCII वर्णों के एक उपसमूह (अक्षर, संख्याएं और कुछ विशेष वर्ण) की अनुमति देते हैं; अन्य वर्णों (जैसे स्पेस, विशेष प्रतीक) को URL में उपयोग करने से पहले एन्कोड किया जाना चाहिए। URL एन्कोडिंग प्रत्येक बाइट को %XX प्रारूप में बदलती है, जहां XX उस बाइट का हेक्साडेसिमल प्रतिनिधित्व है। URL एन्कोडिंग वेब विकास के लिए मौलिक है और URL पैरामीटर, फॉर्म सबमिशन, HTTP अनुरोध और अन्य परिदृश्यों में व्यापक रूप से उपयोग की जाती है।
उपयोग के चरण
URL एन्कोडिंग और डीकोडिंग बहुत सरल है:
एन्कोडिंग नियम
URL एन्कोडिंग इन नियमों का पालन करती है:
encodeURIComponent() अधिकांश मामलों को सही तरीके से संभालता है।सामान्य एन्कोडिंग उदाहरण
यहां कुछ सामान्य वर्णों के URL एन्कोडिंग हैं:
अनुप्रयोग परिदृश्य
URL एन्कोडिंग विभिन्न वेब विकास परिदृश्यों में व्यापक रूप से उपयोग की जाती है:
FAQ
Q: URL एन्कोडिंग और Base64 में क्या अंतर है?
A: URL एन्कोडिंग और Base64 दोनों विशेष वर्णों को संभालने के लिए उपयोग किए जाते हैं, लेकिन अलग-अलग उद्देश्यों के लिए। URL एन्कोडिंग: 1) उद्देश्य: विशेष वर्णों को URL में सुरक्षित रूप से प्रेषित करना। 2) प्रारूप: %XX (जैसे %20)। 3) परिदृश्य: URL पैरामीटर, फॉर्म सबमिशन। Base64: 1) उद्देश्य: बाइनरी डेटा को टेक्स्ट प्रारूप में बदलना। 2) प्रारूप: A-Z, a-z, 0-9, +, /। 3) परिदृश्य: इमेज एम्बेड करना, JWT, ईमेल अटैचमेंट। चयन सलाह: 1) URL पैरामीटर: URL एन्कोडिंग उपयोग करें। 2) बाइनरी डेटा: Base64 उपयोग करें। 3) दोनों को मिलाकर उपयोग किया जा सकता है (जैसे Base64 एन्कोड करें फिर URL एन्कोड करें)।
Q: स्पेस को %20 या + के रूप में एन्कोड किया जाना चाहिए?
A: स्पेस एन्कोडिंग URL के स्थान पर निर्भर करती है। %20: 1) URL पाथ भाग में उपयोग (जैसे /path/hello%20world)। 2) Fragment में उपयोग (# के बाद)। 3) encodeURIComponent() स्पेस को %20 के रूप में एन्कोड करता है। +: 1) क्वेरी स्ट्रिंग में उपयोग (? के बाद, जैसे ?q=hello+world)। 2) application/x-www-form-urlencoded प्रारूप + उपयोग करता है। अनुशंसा: encodeURIComponent() का उपयोग करके एकसमान %20 के रूप में एन्कोड करें; सर्वर + और %20 दोनों को स्वचालित रूप से संभालेगा।
Q: JavaScript में URL एन्कोडिंग का उपयोग कैसे करें?
A: JavaScript तीन URL एन्कोडिंग फ़ंक्शन प्रदान करता है जिनके अलग-अलग उद्देश्य हैं। encodeURIComponent(): URI घटकों (पैरामीटर मान) को एन्कोड करता है, अनुशंसित। सभी विशेष वर्णों को एन्कोड करता है (A-Z, a-z, 0-9, -, _, ., ~ को छोड़कर)। encodeURI(): पूर्ण URI एन्कोड करता है, URI संरचना वर्णों को संरक्षित करता है (जैसे :, /, ?, &)। पूर्ण URL एन्कोड करने के लिए उपयुक्त। escape(): अप्रचलित, अनुशंसित नहीं। उदाहरण:// पैरामीटर मान एन्कोड करें (अनुशंसित)
encodeURIComponent('नमस्ते दुनिया'); // '%E0%A4%A8%E0%A4%AE%E0%A4%B8%E0%A5%8D%E0%A4%A4%E0%A5%87%20%E0%A4%A6%E0%A5%81%E0%A4%A8%E0%A4%BF%E0%A4%AF%E0%A4%BE'
// पूर्ण URL एन्कोड करें
encodeURI('https://example.com/hello world'); // 'https://example.com/hello%20world'
डीकोडिंग: decodeURIComponent() या decodeURI() का उपयोग करें।
Q: गैर-ASCII वर्णों को URL कैसे एन्कोड किया जाता है?
A: गैर-ASCII वर्णों को पहले UTF-8 बाइट्स में बदला जाना चाहिए, फिर %XX प्रारूप में एन्कोड किया जाना चाहिए। उदाहरण: “नमस्ते” → UTF-8 बाइट्स → URL एन्कोडिंग: %E0%A4%A8%E0%A4%AE%E0%A4%B8%E0%A5%8D%E0%A4%A4%E0%A5%87। JavaScript: encodeURIComponent('नमस्ते') UTF-8 रूपांतरण को स्वचालित रूप से संभालता है। ध्यान दें: 1) अलग-अलग एन्कोडिंग (जैसे ISO) अलग-अलग परिणाम देंगी। 2) सर्वर को UTF-8 को सही तरीके से डीकोड करना होगा। 3) आधुनिक वेब एप्लिकेशन एकसमान UTF-8 एन्कोडिंग उपयोग करते हैं।
Q: क्या URL एन्कोडिंग डेटा का आकार बढ़ाती है?
A: हां, URL एन्कोडिंग डेटा का आकार बढ़ाती है, वृद्धि वर्ण प्रकार पर निर्भर करती है। ASCII वर्ण: 1) अक्षर, संख्याएं: एन्कोड नहीं, आकार अपरिवर्तित। 2) विशेष वर्ण (जैसे &, =): 3 बाइट (%XX) के रूप में एन्कोड, 200% वृद्धि। गैर-ASCII वर्ण: 1) UTF-8 एन्कोडिंग: प्रति वर्ण 1-4 बाइट, प्रत्येक बाइट %XX के रूप में। अनुकूलन: 1) बड़ी मात्रा में डेटा प्रेषित करने के लिए POST अनुरोधों का उपयोग करें। 2) JSON प्रारूप का उपयोग करने पर विचार करें (URL एन्कोडिंग की जरूरत नहीं)।
Q: URL एन्कोडिंग और HTML एंटिटी एन्कोडिंग में क्या अंतर है?
A: URL एन्कोडिंग और HTML एंटिटी एन्कोडिंग अलग-अलग परिदृश्यों में उपयोग की जाती हैं। URL एन्कोडिंग: 1) उद्देश्य: URL में विशेष वर्ण प्रेषित करना। 2) प्रारूप: %XX (जैसे %20)। 3) परिदृश्य: URL पैरामीटर, फॉर्म सबमिशन। HTML एंटिटी एन्कोडिंग: 1) उद्देश्य: HTML में विशेष वर्ण प्रदर्शित करना। 2) प्रारूप: &name; (जैसे <) या &#number; (जैसे <)। 3) परिदृश्य: HTML सामग्री, एट्रिब्यूट मान। उदाहरण: < → URL एन्कोडिंग: %3C, HTML एंटिटी: < या <।
Use Cases
अनुशंसित: URL क्वेरी पैरामीटर
URL क्वेरी स्ट्रिंग में पैरामीटर पास करना URL एन्कोडिंग का सबसे सामान्य अनुप्रयोग है। क्वेरी स्ट्रिंग ? से शुरू होती है, पैरामीटर & से अलग होते हैं, और पैरामीटर नाम और मान = से जुड़े होते हैं। यदि पैरामीटर मान में विशेष वर्ण (जैसे स्पेस, &, =) हैं, तो उन्हें URL एन्कोड किया जाना चाहिए। JavaScript का encodeURIComponent() पैरामीटर मान को सही तरीके से एन्कोड करता है।
- ✅ पैरामीटर मान एन्कोड करने के लिए encodeURIComponent() उपयोग करें
- ✅ क्वेरी स्ट्रिंग बनाने के लिए URLSearchParams API उपयोग करें
- ✅ सर्वर संबंधित डीकोडिंग फ़ंक्शन उपयोग करता है
- ❌ URL पैरामीटर को मैन्युअल रूप से जोड़ें नहीं
- 💡 बड़ी मात्रा में डेटा के लिए POST अनुरोध उपयोग करने पर विचार करें
अनुशंसित: HTML फॉर्म सबमिशन
HTML फॉर्म application/x-www-form-urlencoded एन्कोडिंग का उपयोग करके डेटा सबमिट करते हैं, जो URL एन्कोडिंग का एक प्रकार है। फॉर्म डेटा key=value&key=value प्रारूप में सबमिट होता है, स्पेस + के रूप में एन्कोड होते हैं, अन्य विशेष वर्ण %XX के रूप में। आधुनिक ब्राउज़र फॉर्म एन्कोडिंग स्वचालित रूप से संभालते हैं; डेवलपर्स को आमतौर पर मैन्युअल रूप से एन्कोड करने की जरूरत नहीं होती। हालांकि, JavaScript (जैसे Fetch API) का उपयोग करके फॉर्म डेटा बनाते समय, मैन्युअल एन्कोडिंग की जरूरत होती है।
- ✅ एन्कोडिंग को स्वचालित रूप से संभालने के लिए FormData API उपयोग करें
- ✅ फॉर्म डेटा बनाने के लिए URLSearchParams उपयोग करें
- ✅ सर्वर फॉर्म डेटा को सही तरीके से डीकोड करता है
- 💡 फ़ाइल अपलोड के लिए multipart/form-data उपयोग करें
अनुशंसित: RESTful API पाथ पैरामीटर
RESTful API में, रिसोर्स आइडेंटिफायर में विशेष वर्ण (जैसे स्पेस, स्लैश) हो सकते हैं, जिनके लिए URL एन्कोडिंग की जरूरत होती है। उदाहरण के लिए, /users/राम कुमार को /users/राम%20कुमार के रूप में एन्कोड किया जाना चाहिए। encodeURIComponent() का उपयोग करके पाथ पैरामीटर एन्कोड करें, यह सुनिश्चित करते हुए कि API रिसोर्स आइडेंटिफायर को सही तरीके से पार्स कर सके।
- ✅ पाथ पैरामीटर एन्कोड करने के लिए encodeURIComponent() उपयोग करें
- ✅ सर्वर पाथ पैरामीटर को सही तरीके से डीकोड करता है
- ✅ रिसोर्स आइडेंटिफायर के रूप में नाम के बजाय ID उपयोग करने पर विचार करें
- 💡 URL टेम्पलेट लाइब्रेरी (जैसे path-to-regexp) उपयोग करें
अनुशंसित: OAuth प्रमाणीकरण
OAuth प्रमाणीकरण प्रवाह में redirect_uri और state जैसे पैरामीटर को URL एन्कोडिंग की जरूरत होती है। उदाहरण के लिए, redirect_uri आमतौर पर क्वेरी पैरामीटर वाला एक पूर्ण URL होता है, जिसे पैरामीटर मान के रूप में पास करने से पहले पूरे रूप में एन्कोड किया जाना चाहिए। इन पैरामीटर को एन्कोड करने के लिए encodeURIComponent() का उपयोग करें, यह सुनिश्चित करते हुए कि OAuth सर्वर उन्हें सही तरीके से पार्स कर सके।
- ✅ redirect_uri एन्कोड करने के लिए encodeURIComponent() उपयोग करें
- ✅ state पैरामीटर एन्कोड करने के लिए encodeURIComponent() उपयोग करें
- ✅ डीकोड किया गया redirect_uri मान्य है यह सत्यापित करें
- 💡 स्वचालित हैंडलिंग के लिए OAuth लाइब्रेरी (जैसे Passport.js) उपयोग करें
अनुशंसित: सर्च इंजन क्वेरी
URL में पास होने पर सर्च कीवर्ड को URL एन्कोडिंग की जरूरत होती है। उदाहरण के लिए, Google पर “नमस्ते दुनिया” खोज के लिए URL https://www.google.com/search?q=नमस्ते+दुनिया है। सर्च इंजन URL एन्कोडिंग स्वचालित रूप से संभालते हैं; उपयोगकर्ताओं को आमतौर पर मैन्युअल रूप से एन्कोड करने की जरूरत नहीं होती। हालांकि, सर्च URL बनाते समय (जैसे स्वचालित रीडायरेक्ट), सर्च कीवर्ड एन्कोड करने के लिए encodeURIComponent() का उपयोग किया जाना चाहिए।
- ✅ सर्च कीवर्ड एन्कोड करने के लिए encodeURIComponent() उपयोग करें
- ✅ कई कीवर्ड संभालें (स्पेस या + से अलग)
- ✅ सर्च इंजन API उपयोग करने पर विचार करें
- 💡 सर्च URL बनाने के लिए URLSearchParams उपयोग करें
अनुशंसित: URL शॉर्टनिंग सेवाएं
URL शॉर्टनिंग सेवाएं (जैसे bit.ly) को लंबे URL को स्टोर और प्रेषित करने से पहले एन्कोड करना होता है। लंबे URL में विशेष वर्ण (जैसे क्वेरी पैरामीटर) हो सकते हैं, जिनके लिए URL एन्कोडिंग की जरूरत होती है। लंबे URL एन्कोड करने के लिए encodeURIComponent() का उपयोग करें, यह सुनिश्चित करते हुए कि शॉर्टनिंग सेवा उन्हें सही तरीके से पार्स और पुनर्स्थापित कर सके। ध्यान दें कि शॉर्टनिंग सेवाएं आमतौर पर एन्कोडेड URL को फिर से एन्कोड करती हैं, इसलिए डीकोडिंग के लिए कई बार की जरूरत हो सकती है।
- ✅ लंबे URL एन्कोड करने के लिए encodeURIComponent() उपयोग करें
- ✅ डीकोड किए गए URL मान्य हैं यह सत्यापित करें
- ✅ कई बार एन्कोडिंग के मामले संभालें
- 💡 शॉर्टनिंग सेवा API उपयोग करें
सर्वोत्तम अभ्यास अनुशंसाएं
- URL पैरामीटर मान एन्कोड करने के लिए encodeURIComponent() उपयोग करें, पूर्ण URL एन्कोड करने के लिए encodeURI() उपयोग करें।
- क्वेरी स्ट्रिंग में स्पेस + के रूप में एन्कोड होते हैं, पाथ में %20 के रूप में; encodeURIComponent() का उपयोग करके एकसमान %20 के रूप में एन्कोड करें।
- गैर-ASCII वर्ण UTF-8 एन्कोडिंग उपयोग करते हैं; सुनिश्चित करें कि सर्वर सही तरीके से डीकोड करता है।
- URL पैरामीटर को मैन्युअल रूप से न जोड़ें; स्वचालित एन्कोडिंग हैंडलिंग के लिए URLSearchParams API या FormData API उपयोग करें।
- URL एन्कोडिंग डेटा का आकार बढ़ाती है; बड़ी मात्रा में डेटा के लिए POST अनुरोध या JSON प्रारूप उपयोग करें।
- URL इंजेक्शन हमलों को रोकने के लिए डीकोड किए गए URL की वैधता सत्यापित करें।