HTML एंटिटी एन्कोड और डिकोड करें
टेक्स्ट को HTML एंटिटी में बदलें, या & और € जैसी एंटिटी को वापस उन वर्णों में बदलें जिनका वे प्रतिनिधित्व करती हैं।
आपके ब्राउज़र में चलता है; आप जो भी टाइप करते हैं, वह आपके डिवाइस से बाहर नहीं जाता
शुरू करने के लिए टेक्स्ट पेस्ट करें।
कुछ मिलियन वर्णों तक का टेक्स्ट। डिकोडिंग वे सभी नामित एंटिटी समझती है जो आपका ब्राउज़र जानता है (HTML5 की पूरी सूची), साथ ही दशमलव और हेक्साडेसिमल संख्याएँ; हर रेफ़रेंस में अंत का सेमीकोलन ज़रूरी है। डिकोडिंग सिर्फ़ एक स्तर की होती है: &lt; बनता है <, < नहीं।
HTML एंटिटी कैसे एन्कोड और डिकोड करें
- एन्कोड या डिकोड चुनें और अपना टेक्स्ट पेस्ट करें।
- एन्कोड करते समय चुनें कि सिर्फ़ असुरक्षित वर्ण एन्कोड हों, जहाँ नाम मौजूद हैं वहाँ é जैसे नाम इस्तेमाल हों, या ASCII से बाहर की हर चीज़ के लिए संख्याएँ इस्तेमाल हों।
- नतीजा कॉपी करें।
HTML एंटिटी क्या हैं
HTML कुछ वर्णों को खास काम देता है: छोटा-से चिह्न टैग शुरू करता है, एम्परसेंड एंटिटी शुरू करता है, और कोट एट्रिब्यूट की वैल्यू खत्म करते हैं। इनमें से किसी वर्ण को टेक्स्ट के रूप में दिखाने के लिए आप उसकी जगह एंटिटी लिखते हैं: < के लिए <, & के लिए &। एंटिटी से वे वर्ण भी लिखे जा सकते हैं जिन्हें टाइप करना मुश्किल है या जिन्हें पुरानी पेज एन्कोडिंग संभाल नहीं सकती, जैसे é के लिए é, € के लिए € या इमोजी के लिए 😀।
एंटिटी एम्परसेंड से शुरू होकर सेमीकोलन पर खत्म होती है। दोनों के बीच या तो नाम (copy) होता है, या # के बाद दशमलव संख्या (#169), या #x के बाद हेक्साडेसिमल संख्या (#xA9)। ये तीनों कॉपीराइट चिह्न लिखते हैं। एन्कोडिंग आपके टेक्स्ट को एक-एक वर्ण करके देखती है: पाँच असुरक्षित वर्ण हमेशा एंटिटी बनते हैं, और बाकी आपके चुने विकल्प पर निर्भर करता है, कुछ भी नहीं से लेकर हर वर्ण के लिए एक संख्या तक।
डिकोडिंग हर रेफ़रेंस को पढ़कर उसकी जगह उसका वर्ण रख देती है। संख्याएँ HTML के नियमों के अनुसार सीधे बदली जाती हैं: शून्य, सीमा से बाहर या सरोगेट (surrogate) वाली संख्या रिप्लेसमेंट कैरेक्टर बन जाती है, और 128 से 159 तक की संख्याएँ Windows-1252 वर्णों की तरह पढ़ी जाती हैं, जैसा ब्राउज़र करते हैं। नाम आपका ब्राउज़र हल करता है, जो HTML5 की पूरी सूची जानता है। डिकोडिंग एक ही बार में होती है, इसलिए &lt; बनता है <, अकेला छोटा-से चिह्न नहीं।
सुझाव
- वेब पते के लिए किसी वैल्यू को एस्केप करना है? URL एन्कोड और डिकोड इस्तेमाल करें।
- एस्केप करने से पहले मार्कअप को HTML फ़ॉर्मैटर से साफ़ कर लें।
- समझ नहीं आ रहा कि टेक्स्ट अजीब क्यों दिख रहा है? उसमें छिपे हुए वर्ण हो सकते हैं: अदृश्य वर्ण डिटेक्टर से जाँचें।
अक्सर पूछे जाने वाले सवाल
HTML में किन वर्णों को एस्केप करना ज़रूरी है?
पाँच: छोटा-से चिह्न < (<), बड़ा-से चिह्न > (>), एम्परसेंड & (&), डबल कोट " (") और सिंगल कोट ' (')। इन्हें एस्केप करने से आप कोड या यूज़र के इनपुट को टेक्स्ट के रूप में दिखा सकते हैं, मार्कअप की तरह पढ़े बिना। पहला विकल्प, सिर्फ़ असुरक्षित वर्ण, ठीक यही करता है।
नामित और संख्यात्मक एंटिटी में क्या फ़र्क है?
नामित एंटिटी एक छोटा शब्द इस्तेमाल करती है, जैसे é के लिए é या € के लिए €। संख्यात्मक एंटिटी Unicode कोड पॉइंट इस्तेमाल करती है, दशमलव (é) या हेक्साडेसिमल (é) में। दोनों एक ही वर्ण देती हैं। सिर्फ़ कुछ वर्णों के नाम होते हैं; बाकी के लिए संख्याएँ चाहिए।
ASCII से बाहर के वर्णों को एन्कोड क्यों करें?
अगर कोई पेज या ईमेल UTF-8 में नहीं भेजा जाता, तो एक्सेंट वाले अक्षर और चिह्न बिगड़ सकते हैं। एंटिटी सादा ASCII होती हैं, इसलिए किसी भी एन्कोडिंग में सही रहती हैं।
क्या डिकोडिंग हर एंटिटी को कवर करती है?
हाँ। दशमलव और हेक्साडेसिमल रेफ़रेंस सीधे बदले जाते हैं, और नाम आपके ब्राउज़र के अपने HTML पार्सर से खोजे जाते हैं, जो दो हज़ार से ज़्यादा नामों वाली HTML5 की पूरी सूची जानता है। बिना सेमीकोलन वाला रेफ़रेंस जैसा है वैसा छोड़ दिया जाता है, और अज्ञात नाम भी, जिसे सूची में दिखाया जाता है ताकि आप उसे देख सकें।
क्या सिर्फ़ एन्कोडिंग XSS रोकने के लिए काफ़ी है?
जब आप टेक्स्ट को HTML एलिमेंट की सामग्री में या कोट वाले एट्रिब्यूट वैल्यू में रखते हैं, तब पाँच असुरक्षित वर्णों को एन्कोड करना सही उपाय है। script, style, बिना कोट वाले एट्रिब्यूट या URL के अंदर यह काफ़ी नहीं है; उनके लिए अलग एस्केपिंग चाहिए। यह टूल उस टेक्स्ट के लिए है जो आप पेस्ट करते हैं, आपके फ़्रेमवर्क की एस्केपिंग का विकल्प नहीं है।
क्या मेरा टेक्स्ट अपलोड होता है?
नहीं। सब कुछ आपके ब्राउज़र में होता है और कुछ भी आपके डिवाइस से बाहर नहीं जाता।