HTML एंटिटी एनकोड / डिकोड
HTML के लिए पाठ एस्केप कीजिए या & जैसी एंटिटी वापस वर्णों में बदलिए
इस टूल के बारे में
HTML में सुरक्षित रूप से डालने के लिए पाठ एस्केप कीजिए — & बनता है &, < बनता है < — या एंटिटी से भरे पाठ को वापस पठनीय वर्णों में बदलिए, जिसमें नामित एंटिटी (→), दशमलव (©) और षोडश आधारी (©) संख्यात्मक संदर्भ शामिल हैं।
एनकोडिंग के दो स्तर हैं: वे पाँच अनिवार्य वर्ण जो HTML की संरचना तोड़ते हैं (& < > " '), जो शुद्धता के लिए काफ़ी हैं, या हर ग़ैर-ASCII वर्ण, जो तब काम आता है जब आपके और पृष्ठ के बीच कोई उपकरण UTF-8 बिगाड़ रहा हो। “केवल संख्यात्मक” मोड नामित एंटिटी छोड़ देता है, ताकि उन सख़्त XML पार्सरों के साथ अधिकतम संगति रहे जो केवल पाँच पूर्वनिर्धारित एंटिटी की गारंटी देते हैं।
डिकोडर वह आधा हिस्सा है जो रोज़ काम आता है: कोई स्क्रैप किया गया अंश या ' से भरा API उत्तर चिपकाइए और साफ़ पाठ पाइए। अनजान एंटिटी नाम अनुमान लगाए जाने के बजाय ज्यों के त्यों निकल जाते हैं।
अक्सर पूछे जाने वाले प्रश्न
- HTML में कौन-से वर्ण एस्केप करना ज़रूरी है?
- पाठ सामग्री में: & और <। एट्रिब्यूट मानों में: वह उद्धरण चिह्न भी जो एट्रिब्यूट को घेरता है (" या ')। > को एस्केप करना प्रथा है पर कड़ाई से आवश्यक नहीं। बाक़ी सब UTF-8 दस्तावेज़ में ज्यों का त्यों आ सकता है।
- क्या एंटिटी-एनकोडिंग XSS से बचाव है?
- पाँच संरचनात्मक वर्ण एस्केप करना HTML-संदर्भ में आउटपुट एनकोडिंग का केंद्र है, हाँ — पर केवल HTML पाठ और एट्रिब्यूट संदर्भों के लिए। URL, JavaScript स्ट्रिंग और CSS को अपनी-अपनी संदर्भ-विशिष्ट एनकोडिंग चाहिए; अकेले एंटिटी एस्केप करने से वहाँ मनमाना इंजेक्शन सुरक्षित नहीं हो जाता।
- नामित या संख्यात्मक एंटिटी — कौन-सी लिखनी चाहिए?
- संख्यात्मक संदर्भ (é) हर HTML और XML पार्सर में चलते हैं। नामित एंटिटी अधिक पठनीय हैं, पर XML केवल पाँच को पूर्वनिर्धारित करता है, इसलिए é किसी सख़्त XML/XHTML शृंखला को तोड़ देता है। संदेह हो तो संख्यात्मक चुनिए।
- मेरे डेटा में &#39; (दोहरी एनकोडिंग) क्यों दिखता है?
- दो परतों ने एक-एक बार एनकोड किया: पहली एनकोडिंग का & दूसरी बार में फिर से एस्केप हो गया। पाठ वापस पाने के लिए यहाँ दो बार डिकोड कीजिए, फिर उस परत को खोजकर ठीक कीजिए जिसे एनकोड नहीं करना चाहिए।