वेब और एन्कोडिंग
URL में स्पेस एन्कोडिंग: %20 और + का अंतर
%20 प्रतिशत-एन्कोड किया स्पेस है। प्लस चिह्न केवल फ़ॉर्म-शैली क्वेरी सीरियलाइज़ेशन में स्पेस बनकर डिकोड होता है, हर URL हिस्से में सार्वभौमिक रूप से नहीं।
प्रकाशित
संक्षिप्त उत्तर: %20 और + हर जगह एक-दूसरे के विकल्प नहीं हैं
प्रतिशत एन्कोडिंग स्पेस बाइट के लिए %20 परिभाषित करती है। प्लस को स्पेस मानना फ़ॉर्म/क्वेरी सीरियलाइज़ेशन का नियम है।
URL पाथ में स्पेस
स्पेस के लिए %20 उपयोग करें। पाथ में वास्तविक + पार्सर और ऐप कॉन्ट्रैक्ट के अनुसार प्लस रह सकता है।
क्वेरी/फ़ॉर्म मानों में स्पेस
application/x-www-form-urlencoded सीरियलाइज़ेशन फ़ॉर्म-शैली मानों में स्पेस को + बदलता है और + वापस स्पेस डिकोड करता है।
वास्तविक प्लस चिह्न कैसे एन्कोड करें
फ़ॉर्म-शैली क्वेरी डिकोडिंग के बाद प्लस को + वर्ण बनाए रखना हो तो %2B उपयोग करें।
%20, + और %2B की तुलना
| टेक्स्ट | आम डिकोड किया मान | संदर्भ |
|---|---|---|
| %20 | स्पेस | पाथ या क्वेरी में प्रतिशत एन्कोडिंग |
| + | स्पेस | फ़ॉर्म-शैली क्वेरी मान |
| %2B | + | फ़ॉर्म-शैली क्वेरी मान में वास्तविक प्लस |
डबल एन्कोडिंग: %20 → %2520
%20 के प्रतिशत चिह्न को एन्कोड करने से %2520 बनता है। एक डिकोड से %20 और दूसरी स्पष्ट डिकोडिंग से स्पेस मिलता है।
UTF-8 और प्रतिशत-एन्कोड बाइट
गैर-ASCII वर्ण आमतौर पर UTF-8 बाइट में बदलते हैं, फिर हर बाइट प्रतिशत-एन्कोड होता है। सही हिस्से की सीमा पर डिकोड करें।
आम गलतियाँ
- केवल एक हिस्सा डिकोड करना हो तब पूरा URL डिकोड करना।
- हर URL हिस्से में + को स्पेस मानना।
- फ़ॉर्म डेटा में वास्तविक प्लस के लिए %2B भूलना।
- सीरियलाइज़ेशन परतें जाने बिना बार-बार डिकोड करना।
URL Decoder में उदाहरण आज़माएँ
टूल कच्चे और डिकोड किए मान दिखाता है; गाइड पाथ और फ़ॉर्म-क्वेरी का संदर्भ देती है।
उदाहरण आज़माएँ
पाथ और क्वेरी मानों में %20 डिकोड करें
इस URL के दोनों हिस्सों में प्रतिशत-एन्कोड स्पेस हैं।
https://example.com/a%20b?q=hello%20worldअपेक्षित परिणाम: डिकोड किए रूप में स्पेस हैं, जबकि कच्चे घटक मान जाँचने के लिए उपलब्ध रहते हैं।
उदाहरण आज़माएँ
क्वेरी में + और %2B की तुलना करें
फ़ॉर्म-शैली पार्सिंग + को स्पेस और %2B को वास्तविक प्लस मानती है।
https://example.com/search?q=hello+world&tag=a%2Bbअपेक्षित परिणाम: फ़ॉर्म-शैली नियमों से क्वेरी मान hello world और a+b दिखते हैं।
उदाहरण आज़माएँ
दो एन्कोडिंग परतें देखें
एन्कोड प्रतिशत चिह्न दूसरी %20 परत दिखाता है।
hello%2520worldअपेक्षित परिणाम: एक परत hello%20world है; दूसरी स्पष्ट परत hello world बनती है।
हर हिस्सा जाँचें
URL स्पेस के उदाहरण डिकोड करें
पाथ, क्वेरी और डबल एन्कोडिंग के व्यवहार की स्थानीय तुलना करें।