URL एन्कोडर और डिकोडर गाइड: प्रतिशत एन्कोडिंग, स्पेस और UTF-8
ToolMellow ·
URL एन्कोडिंग चुने हुए बाइट्स को प्रतिशत एस्केप से दर्शाती है, ताकि टेक्स्ट URL के इच्छित भाग या फ़ॉर्म मान में इस्तेमाल हो सके। ToolMellow तीन शैलियाँ देता है: URL भाग, फ़ॉर्म मान और पूरा URL। टेक्स्ट पेस्ट करें, शैली चुनें और एन्कोड करें या डिकोड करें दबाएँ। रूपांतरण स्थानीय रूप से होता है; पता खोला, फ़ेच या सत्यापित नहीं किया जाता।
सही परिणाम टेक्स्ट के इस्तेमाल पर निर्भर है। एक क्वेरी मान, पूरी क्वेरी स्ट्रिंग और पहले से बना URL अलग इनपुट हैं। यह गाइड सटीक उदाहरण, UTF-8 और सामान्य त्रुटियाँ समझाती है तथा विभाजक बदलने या अपेक्षा से अधिक परतें डिकोड करने से बचाती है। उदाहरण पते और आउटपुट केवल समझाने के लिए हैं; इन संसाधनों को फ़ेच नहीं किया गया।
URL टेक्स्ट एन्कोड या डिकोड कैसे करें
URL एन्कोडर और डिकोडर खोलें तथा बदलने वाला पूरा मान पेस्ट करें। “एन्कोडिंग शैली” में “URL भाग (रिक्त स्थान के लिए %20)”, “फ़ॉर्म मान (रिक्त स्थान के लिए +)” या “पूरा URL (विभाजक रखें)” चुनें। एन्कोड करें और डिकोड करें पूरे एडिटर इनपुट पर काम करते हैं; केवल टाइप करने से रूपांतरण नहीं होता।
परिणाम कॉपी करें या डाउनलोड करें इस्तेमाल करने से पहले आउटपुट पढ़ें। परिणाम को इनपुट बनाएँ से इनपुट सीमा में आने वाले परिणाम पर अगला काम कर सकते हैं। इनपुट या एन्कोडिंग शैली बदलने से पुराना परिणाम साफ़ होता है। पंक्तियाँ लपेटें केवल दृश्य लपेट बदलता है; नई पंक्ति नहीं जोड़ता और प्रतिशत एस्केप नहीं बदलता।
- एक क्वेरी मान या पथ खंड के लिए भाग मोड चुनें, पूरी बनी हुई क्वेरी एन्कोड न करें।
- फ़ॉर्म मान मोड केवल तब इस्तेमाल करें जब प्राप्त फ़ॉर्मेट को application/x-www-form-urlencoded मान नियम चाहिए।
- विभाजक अर्थपूर्ण रहने वाले तैयार पते के लिए पूरा URL मोड देखें; यह तब भी URL पार्सर या सत्यापक नहीं है।
URL भाग, फ़ॉर्म मान या पूरा URL चुनें
किसी भाग की एन्कोडिंग मान के आरक्षित चिह्नों को URL संरचना बनने से रोकती है। फ़ॉर्म मान मोड एक मान के फ़ॉर्म-एन्कोडिंग नियम इस्तेमाल करता है और पैरामीटर नाम नहीं लौटाता। पूरा URL मोड टेक्स्ट में कोलन, स्लैश, प्रश्न चिह्न, ऐम्परसैंड, बराबर चिह्न और फ़्रैगमेंट चिह्न जैसे विभाजक बचाता है।
शैली प्राप्त करने वाले ऐप के अनुसार चुनें, सबसे छोटा दिखने वाला आउटपुट देखकर नहीं। पूरी क्वेरी को एक मान बनाकर एन्कोड करना या मान के अंदर विभाजक खुले रखना अर्थ बदल सकता है। यह टूल पेस्ट की गई क्वेरी को नाम/मान जोड़ों में नहीं बाँटता और यह नहीं तय करता कि कौन सा हिस्सा होस्ट, पथ, क्वेरी या फ़्रैगमेंट है।
| शैली | उपयोगी इनपुट | कार्यान्वयन सीमा |
|---|---|---|
| URL भाग | एक क्वेरी मान या पथ खंड | आरक्षित चिह्न एस्केप करता है; पाँच चिह्नों की अतिरिक्त सख़्त एस्केपिंग |
| फ़ॉर्म मान | एक फ़ॉर्म-एन्कोड मान | URLSearchParams एन्कोडिंग; डिकोड में असली + बदलकर सख़्त प्रतिशत डिकोडिंग |
| पूरा URL | पहले से बना पता | encodeURI/decodeURI; अपना आरक्षित समूह, पूर्ण URL सत्यापन नहीं |
RFC 3986: URI संरचना, अनारक्षित अक्षर और प्रतिशत एन्कोडिंगWHATWG URL: फ़ॉर्म URL-एन्कोड पार्सिंग और सीरियलाइज़ेशनECMAScript: encodeURI और decodeURI
प्रतिशत एन्कोडिंग बाइट्स के साथ क्या करती है
प्रतिशत एस्केप में प्रतिशत चिह्न के बाद दो हेक्साडेसिमल अंक होते हैं, जो एक बाइट दर्शाते हैं। Unicode अक्षर कई UTF-8 बाइट्स ले सकते हैं, इसलिए एक दिखने वाले अक्षर के लिए कई एस्केप लग सकते हैं। ASCII स्पेस का हेक्साडेसिमल मान 20 है और भाग तथा पूरे URL की एन्कोडिंग में वह %20 है; फ़ॉर्म एन्कोडिंग उसे + बनाती है।
ये निश्चित उदाहरण बताते हैं कि शैली क्यों महत्त्वपूर्ण है। असली प्लस और एन्कोड हुआ स्पेस अलग मान हैं। तीसरी पंक्ति में स्लैश और क्वेरी के चिह्न एक मामले में भाग के डेटा हैं तथा पूरे URL मोड में संरचना के चिह्न रहते हैं। दोनों क्रियाएँ कोई पता अनुरोध नहीं करतीं।
| इनपुट टेक्स्ट | भाग आउटपुट | फ़ॉर्म मान आउटपुट | पूरा URL आउटपुट |
|---|---|---|---|
a b+c | a%20b%2Bc | a+b%2Bc | a%20b+c |
café | caf%C3%A9 | caf%C3%A9 | caf%C3%A9 |
a/b?x=1#part | a%2Fb%3Fx%3D1%23part | a%2Fb%3Fx%3D1%23part | a/b?x=1#part |
~* | ~%2A | %7E* | ~* |
😀 | %F0%9F%98%80 | %F0%9F%98%80 | %F0%9F%98%80 |
RFC 3986: URI संरचना, अनारक्षित अक्षर और प्रतिशत एन्कोडिंगWHATWG Encoding: UTF-8 और टेक्स्ट डिकोडिंगWHATWG URL: फ़ॉर्म URL-एन्कोड पार्सिंग और सीरियलाइज़ेशनECMAScript: encodeURI और decodeURI
भाग मोड और सख़्त एस्केपिंग
ToolMellow भाग एन्कोडिंग में encodeURIComponent इस्तेमाल करता है और अतिरिक्त रूप से !, एकल उद्धरण चिह्न, (, ) और * एस्केप करता है। बिना बदलाव रहने वाले ASCII में केवल अक्षर, अंक और -._~ हैं। यह बिना बदलाव वाले encodeURIComponent से RFC 3986 के अनारक्षित समूह के अधिक करीब है; मूल फ़ंक्शन ये पाँच अतिरिक्त चिह्न नहीं बदलता।
उदाहरणतः मान red&blue=1 से red%26blue%3D1 बनता है। इसे पैरामीटर के मान के रूप में इस्तेमाल कर सकते हैं, बिना इसके ऐम्परसैंड को नया क्वेरी विभाजक बनाए। भाग डिकोडिंग decodeURIComponent इस्तेमाल करती है: प्रतिशत-एन्कोड आरक्षित अक्षर खुलते हैं, जबकि असली + प्लस रहता है। यह क्वेरी जोड़े पार्स या पूरा URL सामान्यीकृत नहीं करती।
RFC 3986: URI संरचना, अनारक्षित अक्षर और प्रतिशत एन्कोडिंगECMAScript: encodeURIComponent और decodeURIComponent
फ़ॉर्म मान: प्लस, स्पेस, टिल्ड और ऐस्टरिस्क
फ़ॉर्म मान एन्कोडिंग एक मान के लिए URLSearchParams सीरियलाइज़ेशन अपनाती है। स्पेस + बनता है, असली प्लस %2B और असली ऐस्टरिस्क बना रहता है। टिल्ड %7E बनता है। ये अंतर अपेक्षित हैं: फ़ॉर्म एन्कोडिंग का स्वीकृत समूह भाग मोड से पूरी तरह समान नहीं है।
डिकोडिंग पहले असली प्लस को स्पेस में बदलती है, फिर सख़्त decodeURIComponent बुलाती है। इसलिए a+b%2Bc से a b+c बनता है: %2B प्रारंभिक बदलाव के बाद प्लस बनता है और दूसरे स्पेस में नहीं बदलता। यह मान डिकोडर है, त्रुटियाँ सहने वाला URLSearchParams क्वेरी पार्सर नहीं। ख़राब एस्केप और अमान्य प्रतिशत-एन्कोड UTF-8 सुधारने के बजाय विफल होते हैं।
WHATWG URL: फ़ॉर्म URL-एन्कोड पार्सिंग और सीरियलाइज़ेशनECMAScript: encodeURIComponent और decodeURIComponent
पूरा URL मोड विभाजक और आरक्षित एस्केप बचाता है
पूरे URL की एन्कोडिंग encodeURI इस्तेमाल करती है। यह बने हुए पते के विभाजक बचाती है, पर स्पेस और अन्य आवश्यक टेक्स्ट एस्केप करती है। उदाहरणतः https://example.com/a b?q=a+b#part से https://example.com/a%20b?q=a+b#part बनता है। इस चरण में प्लस बना रहता है; बाद में ऐप क्वेरी कैसे पार्स करेगा, वह अलग चरण है।
पूरे URL की डिकोडिंग decodeURI इस्तेमाल करती है, जो अपने आरक्षित समूह ;/?:@&=+$,# के एस्केप बचाता है। उदाहरणतः %2F, %26 और %23 एस्केप रहते हैं, जबकि %20 स्पेस बनता है। इस पुराने समूह में RFC 3986 का हर आरक्षित अक्षर नहीं है: %5B और %5D वर्ग कोष्ठक बनते हैं, तथा पूरे URL की एन्कोडिंग असली वर्ग कोष्ठक प्रतिशत-एस्केप करती है। यह मोड URL पार्स, होस्ट या स्कीम सत्यापित, IPv6 होस्ट सामान्यीकृत, IDNA से डोमेन परिवर्तित या पता फ़ेच नहीं करता।
ECMAScript: encodeURI और decodeURIWHATWG URL: URL पार्सिंग, होस्ट और URLSearchParamsRFC 3986: URI संरचना, अनारक्षित अक्षर और प्रतिशत एन्कोडिंग
UTF-8, Unicode और मूल इनपुट का अंतर
एन्कोडिंग उन अक्षरों के UTF-8 बाइट्स को प्रतिशत एस्केप करती है जिन्हें एस्केप चाहिए। café के अंतिम अक्षर को दो UTF-8 बाइट्स चाहिए, जो %C3%A9 हैं; इमोजी 😀 चार बाइट्स लेता है। एडिटर सीमा JavaScript UTF-16 कोड इकाइयाँ गिनती है, इसलिए बाइट लंबाई, कोड-इकाई लंबाई और दिखते अक्षरों की गिनती समान होना आवश्यक नहीं। यह रूपांतरण Unicode टेक्स्ट सामान्यीकृत नहीं करता।
हर एन्कोडिंग शैली बिना जोड़े वाले Unicode सरोगेट को अस्वीकार करती है। पूरा URL डिकोडिंग भी पहले मूल इनपुट के सुव्यवस्थित Unicode की जाँच करती है। भाग और फ़ॉर्म डिकोडिंग मूल स्ट्रिंग की वह अलग जाँच नहीं करतीं: बिना एस्केप वाली वास्तविक कोड इकाइयाँ बच सकती हैं, जबकि प्रतिशत-एन्कोड बाइट क्रम को मान्य UTF-8 बनना चाहिए। सफल डिकोडिंग को हर वास्तविक अक्षर की सामान्य जाँच या सुरक्षित URL न मानें।
ECMAScript: encodeURIComponent और decodeURIComponentECMAScript: encodeURI और decodeURIECMAScript: String isWellFormedWHATWG Encoding: UTF-8 और टेक्स्ट डिकोडिंग
ख़राब एस्केप, अमान्य UTF-8 और अप्रत्याशित आउटपुट
हर प्रतिशत चिह्न के बाद ठीक दो हेक्साडेसिमल अंक चाहिए और एस्केप बाइट क्रम को डिकोडर के UTF-8 नियम पूरे करने चाहिए। एन्कोड करना चाहें तो असली प्रतिशत चिह्न %25 बनता है; डिकोडिंग इनपुट का अकेला प्रतिशत चिह्न त्रुटि है। टूल चुपचाप खाली स्थान नहीं हटाता और पढ़ने लायक दिखने तक बार-बार डिकोड नहीं करता।
अक्षर बदलने से पहले शैली और पूरा मूल मान जाँचें। मूल स्पेस या नई पंक्तियाँ भी इनपुट डेटा हैं, इसलिए एन्कोडिंग बदल सकती हैं। HTML ऐट्रिब्यूट, उद्धरणों वाली JSON स्ट्रिंग या पूरा अनुरोध बॉडी कॉपी किया हो तो उस बाहरी फ़ॉर्मेट को अलग पार्स करें। उसके विभाजक और एस्केप नियम स्वयं प्रतिशत-एन्कोडिंग नियम नहीं बनते।
| इनपुट या लक्षण | कारण | अगला उपयोगी कदम |
|---|---|---|
% या %2 | अधूरा प्रतिशत एस्केप | कॉपी किया पूरा मान जाँचें |
%GG | एस्केप के अंक हेक्साडेसिमल नहीं | मूल बनाने वाले की जाँच करें |
%FF | एस्केप बाइट मान्य UTF-8 नहीं | अपेक्षित अक्षर एन्कोडिंग या बाइनरी दायरा पहचानें |
भाग मोड में a+b का प्लस बचता है | उस मोड में असली प्लस स्पेस नहीं | प्राप्त करने वाला चाहे तभी फ़ॉर्म मान मोड लें |
पूरा डिकोड %2F बचाता है | decodeURI आरक्षित विभाजक बचाता है | उचित अलग मान के लिए भाग डिकोडिंग लें |
ECMAScript: encodeURIComponent और decodeURIComponentECMAScript: encodeURI और decodeURIRFC 3986: URI संरचना, अनारक्षित अक्षर और प्रतिशत एन्कोडिंग
%25 क्यों आता है और दूसरा डिकोड कब ग़लत है
पहले से एन्कोड प्रतिशत चिह्न को एन्कोड करने से एक और परत बनती है: भाग एन्कोडिंग %2F को %252F बनाती है। %252F का एक भाग डिकोड %2F देता है; दूसरा / देता है। हर चरण एक एन्कोडिंग परत बदलता है। केवल %25 त्रुटि का प्रमाण नहीं, क्योंकि ऐप किसी दूसरे मान के अंदर एन्कोड टेक्स्ट जानबूझकर रख सकता है।
चिह्न दिखने तक बार-बार डिकोड करने के बजाय ऐप की अपेक्षित परत पहचानें। दूसरा भाग डिकोड डेटा को संरचनात्मक स्लैश या विभाजक बना सकता है। पूरा URL डिकोडिंग ऐसे एस्केप विभाजक जानबूझकर बचा सकती है, इसलिए भाग वाला उदाहरण यह नहीं कहता कि हर मोड बार-बार सभी एस्केप हटाता है। टूल ऐप के रूटिंग या अनुमति नियम नहीं जानता।
RFC 3986: URI संरचना, अनारक्षित अक्षर और प्रतिशत एन्कोडिंगECMAScript: encodeURIComponent और decodeURIComponentECMAScript: encodeURI और decodeURI
क्वेरी स्ट्रिंग, पथ खंड और सुरक्षित ऐप इस्तेमाल
क्वेरी पैरामीटर में नाम और क्वेरी संरचना को मान से अलग रखें। URL और URLSearchParams जैसी URL बनाने वाली API असली पता जोड़ने और सीरियलाइज़ करने में मदद कर सकती हैं। यह टूल केवल दिए टेक्स्ट को बदलता है; होस्टनाम सत्यापित, लिंक छोटा, रीडायरेक्ट का अनुसरण या ऐप की स्वीकृत स्कीम तय नहीं करता।
प्रतिशत एन्कोडिंग वापस बदली जा सकने वाली अभिव्यक्ति है, एन्क्रिप्शन, हैशिंग, HTML एस्केपिंग या अनुमति नहीं। ख़तरनाक स्कीम एन्कोड करने से लिंक भरोसेमंद नहीं होता, और मान डिकोड करने से HTML या चलने वाले कोड में डालना सुरक्षित नहीं होता। लक्ष्य संदर्भ के सत्यापन और एस्केपिंग नियम लागू करें और साझा उदाहरण URL में असली रहस्य न रखें।
WHATWG URL: URL पार्सिंग, होस्ट और URLSearchParamsWHATWG URL: फ़ॉर्म URL-एन्कोड पार्सिंग और सीरियलाइज़ेशनRFC 3986: URI संरचना, अनारक्षित अक्षर और प्रतिशत एन्कोडिंग
इनपुट सीमाएँ, बढ़ता आउटपुट और स्थानीय टेक्स्ट फ़ाइलें
इनपुट सीमा 1,000,000 UTF-16 कोड इकाइयाँ है, दस लाख UTF-8 बाइट्स या दिखते ग्रैफीम नहीं। एस्केपिंग आउटपुट बढ़ा सकती है: दस लाख ASCII स्पेस भाग मोड में तीस लाख अक्षर बनाते हैं। इनपुट सीमा से बड़े आउटपुट के लिए कॉपी और डाउनलोड उपलब्ध हैं, लेकिन परिणाम को इनपुट बनाएँ इतना बड़ा परिणाम नहीं ला सकता। उपलब्ध ब्राउज़र मेमोरी भी व्यावहारिक सीमा है।
स्थानीय फ़ाइल खोलने में File.text() से UTF-8 टेक्स्ट पढ़ा जाता है। 4,000,000 बाइट्स या उससे बड़ी फ़ाइल अस्वीकार होती है; पढ़ा गया टेक्स्ट 1,000,000 UTF-16 इकाइयों से बड़ा हो तो वह भी अस्वीकार है। साधारण पढ़ना शुरुआत का UTF-8 BOM हटाता और ख़राब UTF-8 क्रम बदलता है, इसलिए यह बाइट-दर-बाइट बाइनरी एन्कोडिंग या किसी भी अक्षर समूह की डिकोडिंग नहीं। फ़ाइल एक्सटेंशन उसकी एन्कोडिंग नहीं बताता।
W3C File API: Blob टेक्स्ट पढ़नाWHATWG Encoding: UTF-8 और टेक्स्ट डिकोडिंगECMAScript: String isWellFormed
कॉपी, टेक्स्ट डाउनलोड, साफ़ करना और गोपनीयता
डाउनलोड करें परिणाम को toolmellow-result.txt में UTF-8 टेक्स्ट के रूप में रखता है, अनुरोध, रिपोर्ट या खुला वेबपेज नहीं। सफल खाली रूपांतरण भी परिणाम कॉपी करें और डाउनलोड करें सक्रिय रखता है। क्लिपबोर्ड उपलब्ध न हो तो आउटपुट चुनकर खुद कॉपी करें। सरल जाँच में ज्ञात टेक्स्ट एन्कोड करें, सीमा में हो तो परिणाम वापस इस्तेमाल करें, फिर उसी शैली से डिकोड करें।
साफ़ करें इनपुट, परिणाम, त्रुटियाँ, खोज/बदलाव सामग्री और एडिटर इतिहास रीसेट करता है, पर एन्कोडिंग शैली और पंक्तियाँ लपेटें बचाता है। काम का टेक्स्ट पेज की मेमोरी में रहता है, खाते के इतिहास में नहीं। रिफ़्रेश या बंद करने से वह कार्य स्थिति हटती है; डाउनलोड फ़ाइलें डिवाइस पर रहती हैं। साफ़ करना ब्राउज़र या ऑपरेटिंग सिस्टम मेमोरी के सभी पुनर्प्राप्त योग्य निशान मिटाने की गारंटी नहीं।
रूपांतरण स्थानीय ब्राउज़र वर्कर में चलता है और दिया URL टेक्स्ट, चुनी फ़ाइल का डेटा या परिणाम रूपांतरण सर्वर को नहीं भेजता। साइट लोड होने पर होस्टिंग को सामान्य अनुरोध मेटाडेटा जाता है तथा Google Analytics पेज विज़िट के लिए कुकीज़ और ब्राउज़र/डिवाइस जानकारी इस्तेमाल करता है। स्थानीय रूपांतरण गुमनामी, शून्य ट्रैफ़िक या अवसंरचना में शून्य लॉग नहीं; साइट की गोपनीयता पेज देखें।
बैकलिंक सहित URL एन्कोडर और डिकोडर एम्बेड करें
पेज भाषा चुनें और वर्कस्पेस के नीचे इंटीग्रेशन भाग खोलें। दिए HTML स्निपेट को ऐसे वेबसाइट क्षेत्र में कॉपी या डाउनलोड करके डालें जो बाहरी iframe और स्क्रिप्ट की अनुमति देता हो। इसमें ToolMellow वर्कस्पेस iframe, आकार वाली स्क्रिप्ट और उसी भाषा के ToolMellow टूल पेज का दिखता बैकलिंक है। यह श्रेय लिंक बनाए रखें।
छोटी स्क्रीन पर एम्बेड का पूर्वावलोकन देखें और प्लेटफ़ॉर्म पर क्लिपबोर्ड अनुमति तथा बाहरी संसाधन समर्थन जाँचें। एम्बेड की वही तीन शैलियाँ, टेक्स्ट दायरा और सीमाएँ हैं; यह सर्वर रूपांतरण API या URL फ़ेच सेवा नहीं। दिया लिंक nofollow और noopener इस्तेमाल करता है, इसलिए इसकी मौजूदगी बेहतर खोज रैंकिंग की गारंटी नहीं।
आम सवाल
URL के लिए टेक्स्ट कैसे एन्कोड करें?
लक्ष्य के लिए शैली चुनें: अलग मान या पथ खंड के लिए URL भाग, फ़ॉर्म सीरियलाइज़ेशन के लिए फ़ॉर्म मान, विभाजक बचाने वाले तैयार पते के लिए पूरा URL। टेक्स्ट पेस्ट कर एन्कोड करें दबाएँ। टूल पता नहीं खोलता।
URL एन्कोड किया हुआ मान कैसे डिकोड करें?
मेल खाती शैली चुनें और डिकोड करें दबाएँ। भाग और फ़ॉर्म मोड प्रतिशत-एन्कोड UTF-8 सख़्ती से डिकोड करते हैं; फ़ॉर्म पहले असली प्लस को स्पेस भी बनाता है। पूरा मोड अपने आरक्षित समूह के एस्केप बचाता है। यह क्वेरी को जोड़ों में पार्स नहीं करता।
URL में प्लस कब स्पेस होता है?
इस टूल में केवल फ़ॉर्म मान डिकोडिंग असली प्लस को स्पेस बनाती है। भाग और पूरा URL डिकोडिंग असली प्लस बचाते हैं। application/x-www-form-urlencoded पार्सिंग का अपना प्लस नियम है, हर URL भाग पर लागू नहीं।
%20 और + में क्या अंतर है?
%20 ASCII स्पेस बाइट का प्रतिशत एस्केप है। फ़ॉर्म सीरियलाइज़ेशन स्पेस के लिए प्लस और असली प्लस के लिए %2B इस्तेमाल करता है। प्राप्त फ़ॉर्मेट तय करता है कि प्लस को स्पेस समझें या नहीं।
पूरा URL डिकोडिंग %2F क्यों नहीं बदलती?
पूरा मोड decodeURI से अपने समूह ;/?:@&=+$,# के एस्केप बचाता है, जिसमें स्लैश, ऐम्परसैंड और फ़्रैगमेंट चिह्न हैं। यह RFC 3986 का हर आरक्षित अक्षर नहीं: वर्ग कोष्ठक एस्केप खुलकर वर्ग कोष्ठक बनते हैं। भाग मोड उन विभाजक एस्केप को भी खोलता है। पते के इच्छित भाग के अनुसार चुनें; पूरे मोड को IPv6 होस्ट सामान्यीकरण के लिए न लें।
यह encodeURIComponent से कैसे अलग है?
ToolMellow भाग मोड अतिरिक्त विस्मयादिबोधक, एकल उद्धरण, कोष्ठक और ऐस्टरिस्क एस्केप करता है। केवल अक्षर, अंक और -._~ मूल रहते हैं। फ़ॉर्म और पूरा मोड अलग सीरियलाइज़ेशन नियम लेते हैं; वे एक-दूसरे के बदले इस्तेमाल होने वाले नाम नहीं।
URL डिकोडिंग विफल क्यों होती है?
अधूरे या गैर-हेक्साडेसिमल एस्केप और अमान्य प्रतिशत-एन्कोड UTF-8 त्रुटि देते हैं। मूल मान, अपेक्षित शैली और बाहरी फ़ॉर्मेट जाँचें। टूल ख़राब एस्केप सुधारता या चुपचाप दूसरी अक्षर एन्कोडिंग नहीं चुनता।
क्या डिकोडिंग में टूल हमेशा Unicode सत्यापित करता है?
नहीं। पूरा URL डिकोडिंग मूल इनपुट के सुव्यवस्थित Unicode की जाँच करती है; भाग/फ़ॉर्म डिकोडिंग बिना एस्केप वाली वास्तविक कोड इकाइयों की अलग जाँच नहीं करती। प्रतिशत-एन्कोड बाइट क्रम UTF-8 के रूप में सख़्ती से डिकोड होते हैं। सफल डिकोडिंग पूर्ण URL सत्यापन नहीं।
मेरे URL में %25 क्यों है?
%25 प्रतिशत चिह्न दर्शाता है। एन्कोड टेक्स्ट दोबारा एन्कोड हो तो यह आता है, जैसे भाग मोड में %2F से %252F। अपेक्षित परत पहचानें; बार-बार डिकोड डेटा को संरचनात्मक चिह्न बना सकता है।
क्या पूरी क्वेरी स्ट्रिंग फ़ॉर्म मान में पेस्ट कर सकते हैं?
टूल इसे एक मान समझता है, पैरामीटर जोड़ों का क्रम नहीं। एन्कोडिंग मान के विभाजक एस्केप करेगी; डिकोडिंग नाम और मान नहीं निकालती। पूरी क्वेरी संरचना के लिए उचित URL/क्वेरी पार्सर लें।
क्या स्थानीय फ़ाइल एन्कोड या बड़ा आउटपुट वापस इस्तेमाल कर सकते हैं?
फ़ाइल नियंत्रण 4,000,000 बाइट्स से छोटी फ़ाइल से UTF-8 टेक्स्ट पढ़ता है और 1,000,000 UTF-16 इनपुट इकाइयाँ तक स्वीकार करता है। यह मूल बाइनरी फ़ाइल एन्कोडिंग नहीं। बड़ा आउटपुट कॉपी/डाउनलोड हो सकता है, पर सीमा से बड़ा आउटपुट इनपुट नहीं बन सकता।
क्या URL एन्कोडिंग एन्क्रिप्शन है?
नहीं। प्रतिशत एन्कोडिंग वापस बदली जा सकने वाली अभिव्यक्ति है; यह गोपनीयता या अनुमति नहीं देती। यह हैशिंग, HTML एस्केपिंग या URL सुरक्षा की गारंटी भी नहीं। लक्ष्य संदर्भ के सत्यापन और एस्केपिंग नियम लागू करें।
क्या URL एन्कोडर और डिकोडर वेबसाइट में एम्बेड कर सकते हैं?
वर्कस्पेस के नीचे स्थानीयकृत HTML स्निपेट लें, दिखता ToolMellow बैकलिंक बचाएँ और iframe/स्क्रिप्ट समर्थन जाँचें। एम्बेड की वही तीन शैलियाँ और स्थानीय टेक्स्ट सीमाएँ हैं; यह सर्वर रूपांतरण API या URL फ़ेच सेवा नहीं।
स्रोत और आगे पढ़ें
- RFC 3986: URI संरचना, अनारक्षित अक्षर और प्रतिशत एन्कोडिंग
- ECMAScript: encodeURIComponent और decodeURIComponent
- ECMAScript: encodeURI और decodeURI
- ECMAScript: String isWellFormed
- WHATWG URL: फ़ॉर्म URL-एन्कोड पार्सिंग और सीरियलाइज़ेशन
- WHATWG URL: URL पार्सिंग, होस्ट और URLSearchParams
- WHATWG Encoding: UTF-8 और टेक्स्ट डिकोडिंग
- W3C File API: Blob टेक्स्ट पढ़ना