यह क्या करता है
URL एनकोडिंग, जिसे percent-encoding भी कहते हैं, उन अक्षरों को जो URL में मान्य नहीं हैं या जिनका ख़ास मतलब है, % और उसके बाद दो हेक्साडेसिमल अंकों से बदल देती है। स्पेस %20 बन जाता है, ampersand %26 बन जाता है, और 中文 जैसा non-ASCII टेक्स्ट पहले UTF-8 बाइट्स में बदला जाता है और फिर हर बाइट %XX के रूप में लिखा जाता है।
यह टूल टेक्स्ट को एनकोड करता है ताकि आप उसे सुरक्षित रूप से query string, path segment या API request में डाल सकें, और लॉग, ब्राउज़र एड्रेस बार या HTTP traces से कॉपी की गई percent-encoded strings को वापस पढ़ने लायक टेक्स्ट में डिकोड करता है।
कैसे इस्तेमाल करें
- इनपुट बॉक्स में टेक्स्ट या URL पेस्ट करें, या उदाहरण पर क्लिक करें।
- एनकोड या डिकोड चुनें।
- एनकोड करते समय एक वैल्यू (जैसे कोई search term) एनकोड करने के लिए कंपोनेंट चुनें, या
:,/,?,&और=को जस का तस रखने के लिए पूरा URL। - HTML फ़ॉर्म डेटा के लिए स्पेस को + चालू करें, और वैल्यू की लिस्ट एक साथ प्रोसेस करने के लिए हर लाइन अलग से।
- नतीजा कॉपी या डाउनलोड करें। अगर डिकोडिंग फ़ेल होती है, तो एरर टूटे हुए escape sequence की पोज़िशन बताता है।
उदाहरण
search term hello world & more को कंपोनेंट के रूप में एनकोड करने पर मिलता है:
hello%20world%20%26%20more
q=%E4%BD%A0%E5%A5%BD को डिकोड करने पर q=你好 मिलता है।
कब कौन-सा इस्तेमाल करें
- हाथ से query string बनाते समय: हर वैल्यू को कंपोनेंट के रूप में एनकोड करें, फिर उन्हें
&और=से जोड़ें। - स्पेस या चीनी अक्षरों वाले पूरे लिंक को साफ़ करते समय: पूरा URL इस्तेमाल करें ताकि लिंक की संरचना बनी रहे।
- सर्वर लॉग पढ़ते समय: स्पेस को + चालू करके डिकोड करें, क्योंकि कई सर्वर फ़ॉर्म डेटा उसी फ़ॉर्मैट में लॉग करते हैं।
अक्सर पूछे जाने वाले सवाल
› "कंपोनेंट" और "पूरा URL" में क्या फ़र्क है?
कंपोनेंट हर reserved अक्षर को एनकोड करता है, जिसमें / ? & = और # शामिल हैं, इसलिए नतीजा किसी एक query parameter या path segment के अंदर सुरक्षित रहता है। यह JavaScript के encodeURIComponent से मेल खाता है। पूरा URL इन अक्षरों को बनाए रखता है ताकि पता लिंक के रूप में काम करता रहे, जो encodeURI से मेल खाता है।
› स्पेस %20 बनना चाहिए या +?
paths और ज़्यादातर API के लिए %20 इस्तेमाल करें। + सिर्फ़ HTML फ़ॉर्म डेटा (application/x-www-form-urlencoded) के लिए इस्तेमाल करें, जो ब्राउज़र फ़ॉर्म सबमिट होने पर भेजते हैं। उस स्थिति के लिए "स्पेस को +" चालू करें।
› डिकोड करते समय मुझे "not valid UTF-8" क्यों मिलता है?
%XX बाइट्स मिलकर एक पूरा UTF-8 अक्षर नहीं बनाते, आमतौर पर इसलिए कि टेक्स्ट किसी multi-byte अक्षर के बीच में कट गया था या GBK या Latin-1 जैसे पुराने charset से एनकोड किया गया था।
› क्या मेरा डेटा किसी सर्वर पर भेजा जाता है?
नहीं। एनकोडिंग और डिकोडिंग पूरी तरह आपके ब्राउज़र में चलती है।