URL एन्कोडिंग (प्रतिशत-एन्कोडिंग) URL में असुरक्षित वर्णों को %XX प्रारूप में बदलने की प्रक्रिया है। URL में केवल ASCII वर्णों का एक छोटा उपसमुच्चय हो सकता है (अक्षर, संख्याएं, -_.~), अन्य सभी वर्ण (चीनी, स्पेस, विशेष वर्ण सहित) URL में भेजने से पहले एन्कोड किए जाने चाहिए। उदाहरण के लिए, स्पेस %20 बन जाता है, चीनी वर्ण '中' %E4%B8%AD बन जाता है।
**encodeURIComponent vs encodeURI**: ये दो सबसे अधिक उपयोग की जाने वाली एन्कोडिंग फ़ंक्शन हैं। encodeURIComponent अधिक अच्छी तरह से एन्कोड करता है, जिसमें &, =, ? जैसे पैरामीटर विभाजक शामिल हैं, इसलिए यह व्यक्तिगत पैरामीटर मानों को एन्कोड करने के लिए उपयुक्त है। encodeURI URL संरचना (स्कीम://, पथ, /, ?, #) को संरक्षित करता है, इसलिए यह पूर्ण URL को एन्कोड करने के लिए उपयुक्त है। गलत उपयोग से पैरामीटर पार्सिंग त्रुटियां होती हैं।
**RFC 3986 vs पुराने मानक**: RFC 3986 टिल्ड ~ को एक सुरक्षित वर्ण मानता है जिसे एन्कोड करने की आवश्यकता नहीं है, जबकि प्रारंभिक मानक इसे %7E के रूप में एन्कोड करते हैं। RFC 3986 का उपयोग अनावश्यक एस्केपिंग को कम करता है, URL पठनीयता में सुधार करता है, और कुछ सर्वरों पर %7E पार्सिंग समस्याओं से बचता है।
**Query Only मोड**: उपयोग किया जाता है जब आप कुंजी नाम, बराबर चिह्न और & वर्णों को बदले बिना URL क्वेरी स्ट्रिंग में केवल पैरामीटर मानों को एन्कोड करना चाहते हैं। उदाहरण के लिए, ?name=张三 को ?name=%E5%BC%A0%E4%B8%89 के रूप में एन्कोड किया जाता है, जिससे कुंजी नाम पठनीय रहते हैं और केवल मान एन्कोड किए जाते हैं।
**एन्कोडिंग हाइलाइटिंग**: रीयल-टाइम में %XX प्रारूप के वर्णों को एम्बर रंग में हाइलाइट करता है, ताकि उपयोगकर्ता तुरंत देख सकें कि कौन से वर्ण एन्कोड किए गए हैं। यह एन्कोडिंग नियमों को समझने में मदद करता है: अक्षर और संख्याएं आमतौर पर सुरक्षित वर्ण होते हैं जो एन्कोड नहीं किए जाते, केवल चीनी और विशेष वर्ण एन्कोड किए जाते हैं। सभी गणनाएं ब्राउज़र में स्थानीय रूप से की जाती हैं, कोई डेटा अपलोड नहीं किया जाता।