2013-06-10 10 views
21

यू +001 ए चरित्र चरित्र एन्कोडिंग से संबंधित त्रुटि संदेशों में अक्सर प्रकट होता है। यू +001 ए चरित्र क्या है?यूनिकोड यू +001 ए कैरेक्टर क्या है? उर्फ 0x1A

+1

ध्यान दें कि यू +001 ए एक्सएमएल (आपके टैग्स में से एक) में एक अवैध चरित्र है –

उत्तर

6

जहां तक ​​मैं U+001A बता सकता हूं यूनिकोड में एक विरासत चरित्र है। अस्तित्व के लिए इसका एकमात्र कारण यह है कि इसे पहले से ही ASCII में substitute character ("... किसी ऐसे वर्ण के स्थान पर उपयोग किया गया है जो अमान्य या त्रुटि में पहचाना गया है या जिसे किसी दिए गए डिवाइस पर प्रदर्शित नहीं किया जा सकता है।")। कभी-कभी किसी चरित्र धारा को समाप्त करने के लिए भी उपयोग किया जाता था (जो शायद समस्याओं का एक आम स्रोत है)

यूनिकोड में यह कार्य U+FFFD REPLACEMENT CHARACTER द्वारा लिया जाता है।

11

यह Ctrl + Z नियंत्रण कोड है। यह विंडोज़ में थोडा खास है, जिसने इसे डॉस से विरासत में मिला जो इसे सीपी/एम से विरासत में मिला। इसका विरासत उपयोग अंत-पाठ-पाठ मार्कर के समान था, यूनिक्स में Ctrl + D का उपयोग कैसे किया जाता है।

इसे एक त्रुटि संदेश में देखना या असफल एन्कोडिंग रूपांतरण के लिए फ़ॉल-बैक कैरेक्टर के रूप में उपयोग किया जाना काफी असामान्य है। मैं कोड को दोबारा जांचता हूं और सुनिश्चित करता हूं कि यह यू +003 एफ या यू + एफएफएफडी नहीं है, और अधिक सामान्य एन्कोडिंग फ़ॉलबैक वर्ण। या आप जिस विशिष्ट कोड से निपट रहे हैं उसके सिर्फ एक सादे क्विर्क।

20

यू +001 ए यूनिकोड मानक में सब्स्टिट्यू नाम के साथ एक नियंत्रण चरित्र के रूप में परिभाषित किया गया है, और यह मानक के chapter 16 में निम्नानुसार वर्णित समूह से संबंधित है: "यूनिकोड मानक में 65 कोड अंक अलग हैं आईएसओ/आईईसी 2022 ढांचे में परिभाषित सीऔर सी 1 नियंत्रण कोड के साथ संगतता के लिए [...] यूनिकोड मानक इन कोड बिंदुओं के अखंड इंटरचेंज के लिए प्रदान करता है, न तो और उनके अर्थशास्त्र से घटाना। नियंत्रण कोड के अर्थशास्त्र आमतौर पर उस एप्लिकेशन द्वारा निर्धारित किए जाते हैं जिसके साथ उनका उपयोग किया जाता है। हालांकि, विशिष्ट अनुप्रयोग का उपयोग करता है के अभाव में, वे नियंत्रण समारोह अर्थ विज्ञान आईएसओ/आईईसी में निर्दिष्ट 6429 के अनुसार व्याख्या की जा सकती:। 1992 "

आईएसओ 6429 को प्रभावी ढंग से ECMA 48, जो होने के रूप में इस कोड का उल्लेख के बराबर है संक्षिप्त नाम एसयूबी भी है, और इसे निम्नानुसार परिभाषित करता है: "एसयूबी का उपयोग उस वर्ण के स्थान पर किया जाता है जो अमान्य या त्रुटि में पाया गया है। एसयूबी का उद्देश्य को स्वचालित माध्यमों से पेश किया जाना है। "यह definition of this control code in Ascii को दर्शाता है।

इस प्रकार, सामान्य रूप से, यू +001 ए का उपयोग चरित्र-स्तर डेटा त्रुटि, जैसे बाइट्स की मौजूदगी को इंगित करने के लिए किया जा सकता है, वर्णित चरित्र डेटा में, जिसमें वर्ण एन्कोडिंग लागू करने में कोई व्याख्या नहीं है। संक्षेप में बोलते हुए, इसका अर्थ "खराब चरित्र डेटा" होगा, लेकिन अधिक उचित रूप से "विकृत डेटा, वर्णों के रूप में डेटा की व्याख्या करने का प्रयास करते समय"। हालांकि, यूनिकोड में, यू + एफएफएफडी प्रतिस्थापन चरित्र अधिक उपयुक्त है, क्योंकि इसमें विशिष्ट यूनिकोड अर्थशास्त्र है।

चूंकि प्रश्न "xml" के साथ टैग किया गया है, इसलिए यह ध्यान दिया जाना चाहिए कि XML 1.0, U + 001A में खंड 2.2 Characters द्वारा प्रतिबंधित है। ध्यान दें कि "सरोगेट ब्लॉक, एफएफएफई और एफएफएफएफ को छोड़कर" कोई यूनिकोड चरित्र "भ्रामक है (लेकिन टिप्पणियां गैर-मानक हैं); यू +001 ए एक यूनिकोड चरित्र है, हालांकि यह ग्राफिक चरित्र नहीं है और इसका प्रभाव यूनिकोड मानक में परिभाषित नहीं है।

+0

इसके लिए धन्यवाद, libxml वैध utf8 वर्णों को क्यों अस्वीकार कर रहा है, यह जानने का प्रयास कर रहा है। यकीन नहीं है कि मैं उन्हें क्यों प्राप्त कर रहा हूं, लेकिन कम से कम अब मैं समझ सकता हूं कि समस्या क्या है ... – mcfedr

संबंधित मुद्दे