डेवलपर टूल · HTML इकाई एस्केपर
क्यों और अन्य अदृश्य संस्थाएं खोज और स्ट्रिंग मिलान को तोड़ देती हैं
· यह क्यों मायने रखती है
HTML यूनिकोड डिबगिंग
एक नॉन-ब्रेकिंग स्पेस बिल्कुल एक स्पेस की तरह दिखता है लेकिन उसकी तुलना अलग-अलग होती है, और यह आमतौर पर के माध्यम से आता है। इस पोस्ट में , ­, ‍ और दोस्तों को शामिल किया गया है कि वे डेटा में कैसे प्रवेश करते हैं और उन्हें कैसे देखते हैं।
दो तार जो समान दिखते हैं और समान नहीं हैं - एक असफल परीक्षण और उनमें से एक में छिपा हुआ U+00A0
दो तार जो समान दिखते हैं और समान नहीं हैं - एक असफल परीक्षण और उनमें से एक में छिपा हुआ U+00A0। एक सामान्य स्थान और U+00A0 समान दिखते हैं लेकिन तुलना में असमान होते हैं। जब एक फिक्स्चर वेब एडिटर से आता है, तो एक अदृश्य नॉन-ब्रेकिंग स्पेस अन्यथा स्पष्ट समानता दावे को विफल कर सकता है।
एनबीएसपी स्ट्रिंग तुलना को सत्यापित करने के लिए, दो स्ट्रिंग बनाएं जो तुलना को डीबग करने वाले डेवलपर की तलाश करती हैं जो समान दिखने वाली स्ट्रिंग पर विफल हो जाती है। समान बनाए रखें और नहीं हैं जबकि अदृश्य-चरित्र निरीक्षण एक असफल परीक्षण के बराबर उत्पन्न करता है; पहचानें कि कहां और यू 00ए0 का उपभोग किया जाता है। इनमें से किCAक में छिपने के बारे में अवलोकन केवल HTML पाठ से संबंधित है।
अदृश्य परिवार - ,  ,  ,  , ­, ‌, ‍ और प्रत्येक किस लिए है
अदृश्य परिवार - ,  ,  ,  , ­, ‌, ‍ और प्रत्येक किस लिए है। तालिका में nbsp, ensp, emsp, thinsp, शर्मीली, zwnj और zwj शामिल हैं। वे अलग-अलग रिक्ति, वैकल्पिक ब्रेक या जुड़ने के व्यवहार का प्रतिनिधित्व करते हैं, इसलिए उन सभी को आँख बंद करके बदलने का अर्थ खो जाता है।
समान दिखने वाली स्ट्रिंग्स पर विफल होने वाली तुलना को डिबग करने वाला एक डेवलपर अदृश्य-वर्ण निरीक्षण पास से पहले ensp emsp thinsp shay रिकॉर्ड करके अदृश्य परिवार nbsp का परीक्षण कर सकता है। zwnj zwj और उसके बाद की तुलना करें और प्रत्येक के लिए जिम्मेदार पार्सर का पता लगाएं। यह एनबीएसपी स्ट्रिंग तुलना परिणाम अदृश्य-वर्ण निरीक्षण साक्ष्य की व्याख्या करता है, निष्पादन योग्य संदर्भों की नहीं।
वे सामग्री कैसे दर्ज करते हैं - एडिटर रिक्ति के लिए डालते हैं, वेब पेजों से कॉपी-पेस्ट करते हैं और टेम्प्लेटिंग करते हैं
वे सामग्री कैसे दर्ज करते हैं - एडिटर रिक्ति के लिए डालते हैं, वेब पेजों से कॉपी-पेस्ट करते हैं और टेम्प्लेटिंग करते हैं। रिच-टेक्स्ट एडिटर अक्सर स्पष्ट अंतराल को संरक्षित करने के लिए एनबीएसपी डालते हैं, और कॉपी-पेस्ट में स्रोत वर्तनी के बजाय परिणामी चरित्र होता है। टेम्प्लेट जानबूझकर जॉइनर्स या दिशात्मक चिह्न जोड़ सकते हैं।
अलग करें कि वे लघु अदृश्य-वर्ण निरीक्षण नमूने में सामग्री कैसे दर्ज करते हैं। एडिटर को शाब्दिक स्रोत के रूप में एनबीएसपी सम्मिलित करते हुए दिखाएं, कॉपी पेस्ट से उसके गंतव्य तक अंतर का पालन करें, और वेब पेज पढ़ने और टेम्प्लेटिंग को API का नाम दें। एनबीएसपी स्ट्रिंग तुलना के लिए, अदृश्य-वर्ण निरीक्षण साक्ष्य पार्सर-बाध्य साक्ष्य बना हुआ है।
डाउनस्ट्रीम के परिणाम - खोज चूक, डुप्लिकेट कुंजियाँ, टूटी हुई छँटाई और लाइन-रैप आश्चर्य
डाउनस्ट्रीम के परिणाम - खोज चूक, डुप्लिकेट कुंजियाँ, टूटी हुई छँटाई और लाइन-रैप आश्चर्य। खोज विश्लेषक सामान्य स्थानों के आसपास टोकननाइज़ कर सकते हैं लेकिन गैर-ब्रेकिंग वाले नहीं। अद्वितीय कुंजियाँ, वर्णमाला क्रम, रैपिंग और कर्सर की गति भी भिन्न हो सकती है जबकि स्क्रीन अपरिवर्तित दिखती है।
डाउनस्ट्रीम खोज चूक के परिणामों को एक सीमा प्रयोग के रूप में मानें। समान दिखने वाली स्ट्रिंग्स पर विफल होने वाली तुलना को डिबग करने वाले डेवलपर को डुप्लिकेट कुंजी टूटी हुई सॉर्टिंग को बनाए रखना चाहिए, एक अदृश्य-वर्ण निरीक्षण ऑपरेशन करना चाहिए, और अदृश्य-वर्ण निरीक्षण साक्ष्य को बदलने से पहले चरित्र द्वारा चरित्र का निरीक्षण और लाइन रैप आश्चर्य करना चाहिए। अदृश्य-चरित्र निरीक्षण साक्ष्य के बारे में दावा इस HTML परत पर रुकता है।
व्यावहारिक उदाहरण: और ­ के साथ एक स्ट्रिंग को डिकोड करना और कोड बिंदुओं का निरीक्षण करना - अदृश्य को दृश्यमान बनाना
व्यावहारिक उदाहरण: और ­ के साथ एक स्ट्रिंग को डिकोड करना और कोड बिंदुओं का निरीक्षण करना - अदृश्य को दृश्यमान बनाना। A B­C‍D को डिकोड करें, फिर कोड बिंदुओं का निरीक्षण करें: U+00A0 A और B के बीच बैठता है, U+00AD सॉफ्ट हाइफ़न है, और U+200D D से पहले शून्य-चौड़ाई वाला जॉइनर है।
ग्राहक सामग्री के बजाय हानिरहित इनपुट के साथ डीकोडिंग का काम किया गया उदाहरण पुन: प्रस्तुत करें। nbsp के साथ स्ट्रिंग रिकॉर्ड करें और, शर्मीले और निरीक्षण का निरीक्षण करें, और प्रत्येक जानबूझकर अदृश्य-चरित्र निरीक्षण पास को गिनें। वह एनबीएसपी स्ट्रिंग तुलना ट्रेल एक डेवलपर को एक तुलना डीबग करने देता है जो समान दिखने वाली स्ट्रिंग्स पर विफल रहता है और कोड बिंदुओं का मूल्यांकन करता है जिससे अनुमान लगाए बिना दृश्यमान और अदृश्य हो जाता है।
जानबूझकर सामान्यीकरण - कब सादे स्थान से बदलना है और कब चरित्र जानबूझकर है
जानबूझकर सामान्यीकरण - कब सादे स्थान से बदलना है और कब चरित्र जानबूझकर है। केवल एक निर्धारित लक्ष्य के साथ सामान्यीकरण करें। U+00A0 को रिक्त स्थान से बदलने से मिलान में सुधार हो सकता है, लेकिन इमोजी अनुक्रम या स्क्रिप्ट से एक जॉइनर को हटाने से उपयोगकर्ता-दृश्यमान ग्रैफेम बदल सकता है।
अदृश्य-चरित्र निरीक्षण समीक्षा के दौरान जानबूझकर स्थान को सामान्य बनाना, एक सादे और स्थान के साथ बदलना और जब अगल-बगल करना। समान दिखने वाली स्ट्रिंग्स पर विफल होने वाली तुलना को डीबग करने वाला डेवलपर यह तय कर सकता है कि रूपांतरण या डाउनस्ट्रीम पर चरित्र जानबूझकर बदला गया है या नहीं। अदृश्य-चरित्र निरीक्षण साक्ष्य के बारे में एनबीएसपी स्ट्रिंग तुलना निष्कर्ष को सामान्य सुरक्षा दावों से बाहर रखें।
इसमें क्या शामिल नहीं है - यूनिकोड सामान्यीकरण फॉर्म और द्विदिश नियंत्रण वर्ण
इसमें क्या शामिल नहीं है - यूनिकोड सामान्यीकरण फॉर्म और द्विदिश नियंत्रण वर्ण। यूनिकोड सामान्यीकरण प्रपत्रों और द्विदिशात्मक नियंत्रणों को अपने स्वयं के विश्लेषण की आवश्यकता होती है। यह उपयोगिता नामित संदर्भों को डिकोड करती है; यह परिणामी यूनिकोड स्ट्रिंग को सामान्यीकृत, खंडित या वर्गीकृत नहीं करता है।
अदृश्य-चरित्र निरीक्षण चलाने से पहले परिभाषित करें कि यह क्या नहीं करता है। कवर यूनिकोड सामान्यीकरण फॉर्म को नियंत्रण के रूप में सहेजें, पीछे के कोड बिंदुओं और द्विदिश नियंत्रण वर्णों का निरीक्षण करें, और अगले दुभाषिया के लिए अदृश्य-वर्ण निरीक्षण साक्ष्य को मैप करें। यह तुलना को डिबग करने वाले डेवलपर के लिए अदृश्य-वर्ण निरीक्षण साक्ष्य को ऑडिट करने योग्य बनाता है जो nbsp स्ट्रिंग तुलना की जांच करने वाले समान दिखने वाले स्ट्रिंग पर विफल रहता है।
टेकअवे: तुलना करने से पहले पात्रों को देखें - HTML इकाई एस्केपर अदृश्य संस्थाओं को कैसे डिकोड करता है ताकि आप निरीक्षण कर सकें कि आपके डेटा में वास्तव में क्या है
टेकअवे: तुलना करने से पहले पात्रों को देखें - HTML इकाई एस्केपर अदृश्य संस्थाओं को कैसे डिकोड करता है ताकि आप निरीक्षण कर सकें कि आपके डेटा में वास्तव में क्या है। तुलना करने से पहले छिपे हुए कोड बिंदुओं को दृश्यमान बनाएं। डिकोडर वास्तविक वर्णों को उजागर करता है, जिसके बाद एक पाइपलाइन कोड-पॉइंट लेबल लॉग कर सकती है और एक संकीर्ण रूप से उचित सामान्यीकरण नीति लागू कर सकती है।
टेकअवे को पात्रों को देखने योग्य अदृश्य-चरित्र निरीक्षण आउटपुट से कनेक्ट करें। इससे पहले कि आप उनकी तुलना एक-पास परिणाम के साथ करें, फिर सत्यापित करें कि HTML इकाई एस्केपर में कैसे प्रवेश करती है और अदृश्य संस्थाओं को डीकोड करती है। समान दिखने वाली स्ट्रिंग पर विफल होने वाली तुलना को डिबग करने वाला डेवलपर अब समीक्षा कर सकता है ताकि आप एक संकीर्ण एनबीएसपी स्ट्रिंग तुलना खोज के रूप में निरीक्षण कर सकें। इस लेख के पीछे व्यावहारिक निर्णय विशिष्ट है: एक गैर-ब्रेकिंग स्थान बिल्कुल एक स्थान जैसा दिखता है लेकिन तुलना अलग-अलग होती है, और यह आमतौर पर के माध्यम से आता है। इस पोस्ट में , ­, ‍ और दोस्तों को शामिल किया गया है कि वे डेटा में कैसे प्रवेश करते हैं और उन्हें कैसे देखते हैं। पाठक की कार्रवाई समान रूप से ठोस है: HTML इकाई एस्केपर से लिंक और और ­ युक्त स्ट्रिंग को डिकोड करना प्रदर्शित करता है ताकि पाठक परिणाम चरित्र का चरित्र दर चरित्र निरीक्षण कर सके।