MCP के माध्यम से कनेक्ट करें →

गणना दर्ज करें

सूत्र (फॉर्मूला)

विज्ञापन

परिणाम

परिणाम
hello%20world%21
इनपुट लंबाई (अक्षर) 12
आउटपुट लंबाई (अक्षर) 16

URL एनकोडिंग क्या है?

URL एनकोडिंग, जिसे परसेंट-एनकोडिंग भी कहते हैं, RFC 3986 द्वारा परिभाषित एक तरीका है जिससे किसी भी डेटा को Uniform Resource Identifier (URI) के अंदर दर्शाया जा सकता है। कई अक्षर — जैसे स्पेस, स्लैश, प्रश्नचिह्न, ऐम्परसैंड और गैर-ASCII अक्षर — का URL में कोई विशेष अर्थ होता है या वे सीधे इस्तेमाल करने में असुरक्षित होते हैं। परसेंट-एनकोडिंग ऐसे हर बाइट को एक परसेंट चिह्न (%) से बदल देती है, जिसके बाद उस बाइट के मान को दर्शाने वाले दो हेक्साडेसिमल अंक आते हैं।

स्पेस अक्षर को प्रतिशत-एन्कोडेड बाइट्स में मैप करता हुआ आरेख
URL एन्कोडिंग के दौरान असुरक्षित अक्षर %XX हेक्स बाइट्स में बदल जाते हैं।

इस कैलकुलेटर का उपयोग कैसे करें

सादे टेक्स्ट को URL-सुरक्षित स्ट्रिंग में बदलने के लिए एनकोड चुनें, या किसी परसेंट-एनकोडेड स्ट्रिंग को वापस पढ़ने योग्य टेक्स्ट में बदलने के लिए डिकोड चुनें। अपना टेक्स्ट टाइप करें या पेस्ट करें और सबमिट करें। यह टूल इनपुट और आउटपुट दोनों की अक्षर लंबाई भी बताता है, जिससे आप देख सकते हैं कि एनकोडिंग से कितना विस्तार हुआ।

फ़ॉर्मूला की व्याख्या

अनरिज़र्व्ड अक्षरों का समूह है A–Z a–z 0–9 - _ . ~। इस समूह के बाहर का हर बाइट एनकोड हो जाता है।

$$\text{Output} = \operatorname{encode}\!\left(\text{Text}\right) = \text{each byte} \to \begin{cases} \text{char}, & \text{if unreserved } (A\text{-}Z,\,a\text{-}z,\,0\text{-}9,\,\text{-}\_.\sim) \\ \text{\%XX}, & \text{otherwise (UTF-8 hex)} \end{cases}$$

उदाहरण के लिए, स्पेस अक्षर का बाइट मान 32 है, जो हेक्स में 0x20 है, इसलिए यह %20 बन जाता है। टेक्स्ट को पहले UTF-8 का उपयोग करके बाइट्स में बदला जाता है, इसलिए मल्टीबाइट अक्षर (जैसे इमोजी या मात्रा वाले अक्षर) बाइट-दर-बाइट एनकोड होते हैं। डिकोडिंग इस प्रक्रिया को उलट देती है: हर %XX ट्रिपल को एक हेक्स बाइट के रूप में पढ़ा जाता है, और इकट्ठा हुए बाइट्स को UTF-8 के रूप में समझा जाता है।

$$\text{Output} = \operatorname{decode}\!\left(\text{Text}\right) = \text{scan} \to \begin{cases} \text{byte}(XX), & \text{for each } \text{\%XX} \\ \text{space}, & \text{for } + \\ \text{char}, & \text{otherwise} \end{cases}\ \text{as UTF-8}$$
विज्ञापन
बाइट दो हेक्साडेसिमल अंकों में विभाजित होकर प्रतिशत कोड बनाता हुआ
प्रत्येक असुरक्षित बाइट एक प्रतिशत चिह्न और उसके बाद उसके दो अंकों के हेक्स मान में बदल जाता है।

हल किया हुआ उदाहरण

hello world! को एनकोड करना: अक्षर h-e-l-l-o अनरिज़र्व्ड हैं और वैसे ही रहते हैं। स्पेस %20 बन जाता है और विस्मयादिबोधक चिह्न (बाइट 33 = 0x21) %21 बन जाता है। परिणाम है hello%20world%21

$$\text{hello world!} \to \text{hello\%20world\%21}$$

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

क्या यह प्लस चिह्न को स्पेस के रूप में एनकोड करता है? एनकोड करते समय स्पेस %20 बनते हैं (RFC 3986 शैली)। डिकोड करते समय, फ़ॉर्म डेटा के साथ संगतता के लिए शाब्दिक + को स्पेस माना जाता है।

कुछ अक्षर अपरिवर्तित क्यों रहते हैं? अक्षर, अंक और चार अनरिज़र्व्ड चिह्न - _ . ~ को RFC 3986 के तहत कभी एनकोड करने की ज़रूरत नहीं होती।

क्या यह Unicode को सपोर्ट करता है? हाँ। टेक्स्ट को UTF-8 के रूप में प्रोसेस किया जाता है, इसलिए ASCII से बाहर के अक्षर कई %XX बाइट्स के रूप में एनकोड होते हैं और सही ढंग से वापस डिकोड हो जाते हैं।

अंतिम अपडेट: