RUV CalculatorURL एनकोडर और डिकोडरhttps://calc.ruvlabs.com/hi/c/url-encoder

URL एनकोडर और डिकोडर

दोनों दिशाओं में प्रतिशत एनकोडिंग

उन्नत विकल्प

परिणाम

विस्तृत विवरण
लंबाई

इसे URL में कैसे डालें?

%EA%B3%84%EC%82%B0%EA%B8%B0%20%EA%B2%80%EC%83%89

शुरुआती मानों के साथ एक उदाहरण। अपने आंकड़ों के लिए ऊपर के मान बदलें।

प्रतिशत एन्कोडिंग क्या करती है

URL में सिर्फ़ सीमित अक्षर चलते हैं। बाक़ी सब UTF-8 बाइट में बदलकर हर बाइट को प्रतिशत चिह्न और दो हेक्स अंकों से लिखा जाता है। खाली जगह %20 बनती है, और देवनागरी का एक अक्षर, जो तीन बाइट का है, %E0%A4%95 जैसे नौ अक्षर बन जाता है।

यह औजार पूरा पता एन्कोड करने और सिर्फ एक मान एन्कोड करने में फर्क करता है। पूरे पते में तिरछी रेखा और प्रश्नचिह्न जैसे बनावटी अक्षर बचे रहने चाहिए; किसी एक मान में, मान लीजिए खोज शब्द में, उन्हीं अक्षरों को भी एन्कोड करना पड़ेगा वरना पैरामीटर टूट जाएगा।

डिकोडिंग उल्टी दिशा में चलती है, हर प्रतिशत तिकड़ी को वापस बाइट बनाकर नतीजे को UTF-8 के रूप में पढ़ती है। इसका सबसे आम काम लॉग या रेफरर में दर्ज पते से मूल खोज शब्द वापस निकालना है।

एन्कोडिंग का दायरा गलत चुनना

किसी एक मान को पूरा पता मानकर एन्कोड करने से पैरामीटर कट जाता है। अगर खोज शब्द में ऐम्परसैंड है और वह ज्यों का त्यों छोड़ दिया गया, तो सर्वर वहीं से नया पैरामीटर पढ़ लेता है। क्वेरी के मानों को घटक स्तर की एन्कोडिंग चाहिए।

उल्टा भी असफल होता है: पूरे पते को घटक स्तर पर एन्कोड करने से तिरछी रेखाएँ और कोलन बदल जाते हैं और लिंक खुलना बंद हो जाता है। घटक एन्कोडिंग तब सही है जब कोई तैयार URL दूसरे URL के भीतर पैरामीटर बनकर जा रहा हो, और तब गलत जब नतीजा सीधे पते वाली पट्टी में जाए।

पहले से एन्कोड किए पाठ को दोबारा एन्कोड करने से हर प्रतिशत चिह्न %25 बन जाता है और दोहरी परत बन जाती है। निकले हुए पाठ में %25 कई बार दिखना लगभग हमेशा यही बताता है, और मूल वापस पाने के लिए फिर दो बार डिकोड करना पड़ता है।

अक्सर पूछे जाने वाले सवाल

क्वेरी-मान वाला विकल्प क्या बदलता है?

चालू रहने पर encodeURIComponent चलता है, बंद रहने पर encodeURI। फर्क इतना है कि : / ? # [ ] @ जैसे विभाजक बदले जाएँ या नहीं। पूरा URL एन्कोड करना हो और स्लैश बचाने हों तो इसे बंद रखें; किसी एक पैरामीटर का मान एन्कोड करना हो तो चालू रखें, ताकि उसके भीतर का ऐम्परसैंड विभाजक न समझा जाए।

गैर-रोमन लिपि वाले URL इतने लंबे क्यों हो जाते हैं?

पर्सेंट-एन्कोडिंग UTF-8 के हर बाइट को तीन अक्षर बना देती है। देवनागरी का एक अक्षर तीन बाइट का होता है, इसलिए नौ अक्षर बनते हैं; é जैसा अक्षर दो बाइट का, इसलिए छह।

खाली जगह + है या %20?

दोनों दिखते हैं। फ़ॉर्म भेजते समय + चलता है, सामान्य URL पथ में %20। यह औजार %20 बनाता है; कोई सर्वर + को भी खाली जगह मानेगा या नहीं, यह उसके अपने कार्यान्वयन पर निर्भर है।

गणना इसी ब्राउज़र में होती है। नतीजे पर भरोसा करने से पहले अपने दर्ज किए मान जाँच लें।