विशेष कैरेक्टरों को बिगाड़े बिना URL या क्वेरी पैरामीटर को परसेंट-एन्कोड और डिकोड करें।
URL में कैरेक्टरों का सीमित सेट ही आ सकता है। बाक़ी सब — स्पेस, उच्चारण चिह्न, &, ?, इमोजी — परसेंट-एन्कोड होना चाहिए: कैरेक्टर के UTF-8 बाइट %XX के रूप में लिखे जाते हैं। स्पेस %20 बन जाता है, "ç" बनता है %C3%A7। यह क़दम छोड़ना ही लिंक टूटने की वजह है: पैरामीटर मान के भीतर बिना एन्कोड किया & उसे चुपचाप दो हिस्सों में बांट देता है, और क्वेरी का कोई उच्चारण चिह्न वाला शब्द सर्वर तक बिगड़कर पहुंच सकता है।
दो मोड इसलिए हैं क्योंकि काम दो अलग हैं। "कंपोनेंट" (encodeURIComponent) हर उस चीज़ को एन्कोड करता है जो सुरक्षित कैरेक्टर नहीं है — इसे क्वेरी स्ट्रिंग में डाले जाने वाले मानों के लिए इस्तेमाल करें, जैसे किसी UTM पैरामीटर में कैंपेन का नाम या दूसरे पेज को भेजा जाने वाला रिटर्न URL। "पूरा URL" (encodeURI) संरचनात्मक कैरेक्टर :, /, ?, & और = बनाए रखता है — इसे उस पूरे पते को साफ़ करने के लिए इस्तेमाल करें जिसकी संरचना पहले से तय है।
डिकोडिंग प्रक्रिया को उलटती है और उतनी ही उपयोगी है: लॉग, एनालिटिक्स या ब्राउज़र बार से कोई भी परसेंट-एन्कोडेड URL पेस्ट करें और उसे सादे टेक्स्ट में पढ़ें। सब कुछ आपके ब्राउज़र में लोकल चलता है — आप जिन लिंक को डीबग कर रहे हैं, वे कभी ट्रांसमिट नहीं होते।
हर असुरक्षित कैरेक्टर की जगह उसके UTF-8 बाइट हेक्साडेसिमल में, % उपसर्ग के साथ लिखे जाते हैं। स्पेस → %20, ç → %C3%A7, 🚀 → %F0%9F%9A%80।
कंपोनेंट उस मान के लिए जो किसी पैरामीटर के भीतर जाता है (यह &, = और / को एन्कोड करता है)। पूरा URL पूरे पते के लिए — यह संरचनात्मक कैरेक्टर बरक़रार रखता है ताकि URL काम करता रहे।
शायद मान में बिना एन्कोड किया & या स्पेस था। मान को URL में डालने से पहले कंपोनेंट मोड से एन्कोड करें — यह ठीक वही मामला है।
क्वेरी स्ट्रिंग में दोनों का मतलब स्पेस है, लेकिन + पुरानी फ़ॉर्म-एन्कोडिंग परंपरा है। %20 URL में हर जगह काम करता है — उसे ही चुनें।
नहीं। एन्कोडिंग और डिकोडिंग नेटिव JavaScript फ़ंक्शनों से पूरी तरह आपके ब्राउज़र में चलती हैं।
Vai.la किसी भी URL को क्लिक आंकड़ों, QR Code और आपके अपने बायोलिंक के साथ एक शॉर्ट लिंक में बदल देता है।
टूल्स का इस्तेमाल कैसे होता है या उनके परिणामों के आधार पर लिए गए निर्णयों के लिए Vai.la ज़िम्मेदार नहीं है।