URL को कैसे एन्कोड और डीकोड करें
यदि आपने कभी किसी URL में %20 देखा है जहाँ रिक्त स्थान होना चाहिए, या %C3%A9 जहाँ एक उच्चारण वाला वर्ण था, तो आप URL एन्कोडिंग से मिले हैं। यह वेब का एक मौलिक निर्माण खंड है, और इसे समझना टूटे लिंक, API समस्याओं और फ़ॉर्म सबमिशन को डिबग करने में मदद करता है।
URL एन्कोडिंग क्या करती है
URL में केवल सुरक्षित वर्णों का एक सीमित सेट हो सकता है: अक्षर (A-Z, a-z), अंक (0-9) और कुछ विशेष वर्ण (-, _, ., ~)। बाकी सब कुछ — रिक्त स्थान, उच्चारण, इमोजी, &, =, #, ? जैसे प्रतीक — एक सुरक्षित फ़ॉर्मेट में कनवर्ट किए जाने चाहिए।
URL एन्कोडिंग (जिसे percent-encoding भी कहा जाता है) गैर-सुरक्षित वर्णों को एक % से प्रतिस्थापित करती है जिसके बाद उनके बाइट के हेक्साडेसिमल मान होते हैं:
| वर्ण | एन्कोडेड |
|---|---|
| रिक्त स्थान | %20 |
| & | %26 |
| = | %3D |
| # | %23 |
| ? | %3F |
| / | %2F |
| @ | %40 |
URL एन्कोडिंग कब आवश्यक है
- विशेष वर्णों वाले क्वेरी पैरामीटर —
price > 100 & category = shoesजैसी क्वेरी को URL में काम करने के लिए एन्कोडिंग की आवश्यकता होती है - URL में गैर-लैटिन वर्ण — अन्य भाषाओं के नाम, शहर या सामग्री को एन्कोड किया जाना चाहिए
- API अनुरोध — मैन्युअल रूप से API कॉल बनाते समय, पैरामीटर मानों को अक्सर एन्कोडिंग की आवश्यकता होती है
- डिबगिंग — जब एक URL काम नहीं करता, तो इसे डीकोड करने से वास्तविक मान पता चलते हैं
कैसे एन्कोड और डीकोड करें
- एन्कोड या डीकोड चुनें — दिशा चुनें। क्वेरी पैरामीटर के लिए encodeURIComponent या पूर्ण URL के लिए encodeURI लें।
- अपना इनपुट पेस्ट करें — टेक्स्ट या URL दर्ज करें। परिणाम तुरंत अपडेट होता है।
- आउटपुट कॉपी करें — अपने कोड, API अनुरोध या ब्राउज़र में परिणाम का उपयोग करें।
सुझाव
- मान एन्कोड करें, पूरी URL नहीं — यदि आप पूरी URL एन्कोड करते हैं, तो URL को संरचना देने वाले स्लैश और कोलन भी एन्कोड हो जाएँगे, जो इसे तोड़ देगा। केवल क्वेरी पैरामीटर के अंदर मानों को एन्कोड करें।
- डबल एन्कोडिंग — पहले से एन्कोड की गई स्ट्रिंग को एन्कोड करने से
%2520जैसी चीज़ें मिलती हैं (%%25बन जाता है)। यदि आपकी URL गलत लगती है, तो जाँचें कि क्या कुछ दो बार एन्कोड किया गया है। - डिबग करने के लिए डीकोड करें — जब एक API अनुरोध विफल होता है या एक URL अपठनीय लगती है, तो वास्तविक मान देखने के लिए इसे डीकोड करें। यह अक्सर समस्या को तुरंत उजागर करता है।
- अपनी भाषा के अंतर्निहित फ़ंक्शन का उपयोग करें — प्रोडक्शन कोड में, हाथ से एन्कोड करने के बजाय हमेशा
encodeURIComponent()(JavaScript),urllib.parse.quote()(Python) याURLEncoder.encode()(Java) का उपयोग करें।
अक्सर पूछे जाने वाले प्रश्न
encodeURI और encodeURIComponent में क्या अंतर है?
encodeURI URL संरचना में मान्य वर्णों को संरक्षित करता है (स्लैश, कोलन, प्रश्न चिह्न)। encodeURIComponent अक्षरों, अंकों और कुछ सुरक्षित वर्णों को छोड़कर सब कुछ एन्कोड करता है। क्वेरी पैरामीटर मानों के लिए encodeURIComponent का उपयोग करें, पूर्ण URL के लिए encodeURI।
रिक्त स्थान %20 या + क्यों बन जाते हैं?
URL एन्कोडिंग में, रिक्त स्थान %20 बन जाते हैं। फ़ॉर्म डेटा में (application/x-www-form-urlencoded), रिक्त स्थान + बन जाते हैं। दोनों अपने संदर्भों में मान्य हैं, लेकिन %20 URL के लिए सार्वभौमिक मानक है।
क्या मुझे अपनी URL को मैन्युअल रूप से एन्कोड करना चाहिए?
अधिकांश मामलों में, आपकी भाषा या फ्रेमवर्क एन्कोडिंग को स्वचालित रूप से संभालते हैं। मैन्युअल एन्कोडिंग तब उपयोगी है जब आप हाथ से URL बना रहे हों, API अनुरोध डिबग कर रहे हों या विशेष वर्णों वाली क्वेरी स्ट्रिंग्स के साथ काम कर रहे हों।
क्या मेरा डेटा किसी सर्वर पर भेजा जाता है?
नहीं। सारी एन्कोडिंग और डीकोडिंग आपके ब्राउज़र में होती है।