2009-08-13 136 views
55

यूनिकोड कोड बिंदु U+<codepoint> क्यों दिखाई देते हैं?'यू +' यूनिकोड कोड बिंदु निर्दिष्ट करने के लिए क्यों उपयोग किया जाता है?

उदाहरण के लिए, U+2202 चरित्र का प्रतिनिधित्व करता है।

क्यों U- (डैश या हाइफ़न चरित्र) या कुछ और नहीं?

उत्तर

108

वर्ण "यू +" मल्टीट्स यूनियन "⊎" यू +228 ई चरित्र (यू-जैसा यूनियन प्रतीक इसके अंदर एक प्लस साइन के साथ) का एक ASCIIfied संस्करण है, जो यूनिकोड को चरित्र सेट के संघ के रूप में प्रतीक बनाने के लिए था। Kenneth Whistler’s explanation in the Unicode mailing list देखें।

7

यह इस बात पर निर्भर करता है कि यूनिकोड मानक के किस संस्करण के बारे में आप बात कर रहे हैं। Wikipedia से:

मानक के पुराने संस्करण समान अंकन करते थे, लेकिन थोड़ा विभिन्न नियमों के साथ। उदाहरण के लिए, यूनिकोड 3.0 "यू-" का उपयोग आठ अंकों के बाद किया जाता है, और "यू +" का उपयोग को केवल चार अंकों से के साथ किया जाता है, कोड कोड इंगित करता है, कोड बिंदु नहीं।

+0

द्वारा संदर्भित एक यूनिकोड वर्ण यह सहायक संदर्भ था। लेकिन उस परिवर्तन का कारण उल्लेख नहीं किया गया है। क्या यह सिर्फ समिति का एक सनकी था? –

+2

मुझे [यू यूनिकोड मानक 3.0.0] (http://www.unicode.org/versions/Unicode3.0.0/) या [यूनिकोड मानक 2.0.0] में "यू-" सम्मेलन दिखाई नहीं देता है (http://www.unicode.org/versions/Unicode2.0.0/) यूनिकोड कंसोर्टियम की वेबसाइट पर संग्रहीत के रूप में। मुझे लगता है कि विकिपीडिया यहां गलत है। –

+1

यह प्रस्तावना में है (http://www.unicode.org/versions/Unicode3.0.0/Preface.pdf), लेकिन केवल संक्षेप में उल्लेख किया गया है। –

4

यह दिखाने के लिए सिर्फ एक सम्मेलन है कि मूल्य यूनिकोड है। हेक्स मानों के लिए '0x' या 'h' जैसा थोड़ा सा (0xB9 या B9h)। क्यों 0xB9 और 0hB9 (या &hB9 या $B9) क्यों? सिर्फ इसलिए कि सिक्का फ़्लिप हुआ :-)

+1

उन्हें सिक्का को फ़्लिप करने की भी आवश्यकता नहीं थी: 'x' ('/ɛks/')' h' ('/ eɪtʃ /') से 'हेक्स' की तरह लगता है। –

+0

@ FrédéricHamidi लेकिन वीबी '& hB9' का उपयोग करता है, पास्कल' $ B9' का उपयोग करता है, इंटेल सिंटैक्स असेंबली '0B9h' –

12

यूनिकोड मानक को कोड बिंदुओं और चरित्र नामों के बारे में बात करने के लिए कुछ नोटेशन की आवश्यकता है। इसने "यू +" के सम्मेलन को अपनाया, जिसके बाद 1 99 6 में प्रकाशित के रूप में कम से कम चार या अधिक हेक्साडेसिमल अंक (स्रोत: यूनिकोड कंसोर्टियम वेबसाइट पर संग्रहीत पीडीएफ प्रतिलिपि)।

"यू +" नोटेशन उपयोगी है। यह हेक्साडेसिमल अंकों को ऑक्टेट कोड कोड के रूप में चिह्नित करने का तरीका देता है, ऑक्टेट्स के बजाय, या अप्रतिबंधित 16-बिट मात्रा, या अन्य एन्कोडिंग में वर्ण। यह पाठ चलाने में अच्छी तरह से काम करता है। "यू" "यूनिकोड" का सुझाव देता है।

यूनिकोड के बारे में 1 99 0 के दशक के सॉफ्टवेयर उद्योग के विचार-विमर्श से मेरी निजी यादें यह है कि यूनिकोड 1.0 और यूनिकोड 2.0 युग के दौरान चार हेक्साडेसिमल अंकों के बाद "यू +" का एक सम्मेलन आम था। उस समय, यूनिकोड को 16-बिट सिस्टम के रूप में देखा गया था। यूनिकोड 3.0 के आगमन और यू + 010000 और उसके बाद के कोड बिंदुओं पर वर्णों के एन्कोडिंग के साथ, "यू-" का सम्मेलन छह हेक्साडेसिमल अंकों के बाद उपयोग में आया, विशेष रूप से संख्या में अतिरिक्त दो अंकों को हाइलाइट करने के लिए। (या हो सकता है कि यह "यू-" से "यू +" में एक बदलाव हो।) मेरे अनुभव में, "यू +" सम्मेलन अब "यू-" सम्मेलन से कहीं अधिक आम है, और कुछ लोग इसका उपयोग करते हैं अंकों की संख्या इंगित करने के लिए "यू +" और "यू-" के बीच अंतर।

मैं "यू +" से "यू-" में बदलाव के दस्तावेज को खोजने में सक्षम नहीं था। 1 99 0 के दशक से संग्रहीत मेलिंग सूची संदेशों के सबूत होना चाहिए, लेकिन मैं आसानी से किसी को इंगित नहीं कर सकता। यूनिकोड मानक 2.0 घोषित किया गया, "यूनिकोड चरित्र कोड की 16 बिट्स की एक समान चौड़ाई है।" (पी। 2-3)। इसने अपने सम्मेलन को निर्धारित किया कि "एक व्यक्तिगत यूनिकोड मान यू + एनएनएन के रूप में व्यक्त किया जाता है, जहां nnnn हेक्साडेसिमल नोटेशन में एक चार अंक संख्या है" (पृष्ठ 1-5)।सरोगेट मूल्य आवंटित किए गए थे, लेकिन यू + एफएफएफएफ के ऊपर कोई चरित्र कोड परिभाषित नहीं किया गया था, और यूटीएफ -16 या यूटीएफ -32 का कोई उल्लेख नहीं था। यह चार अंकों के साथ "यू +" का इस्तेमाल किया। 2000 में प्रकाशित The Unicode Standard 3.0.0, यूटीएफ -16 (पृष्ठ 46-47) परिभाषित किया गया और यू + 010000 और उसके बाद के कोड बिंदुओं पर चर्चा की। इसने कुछ स्थानों पर चार अंकों के साथ "यू +" का उपयोग किया, और अन्य स्थानों में छह अंकों के साथ। मैंने पाया सबसे दृढ़ निशान The Unicode Standard, version 6.0.0 में था, जहां बीएनएफ सिंटैक्स नोटेशन की एक तालिका प्रतीकों U+HHHH और U-HHHHHHHH (पृष्ठ 55 9) को परिभाषित करती है।

"यू +" नोटेशन यूनिकोड कोड पॉइंट या कोड इकाइयों का प्रतिनिधित्व करने वाला एकमात्र सम्मेलन नहीं है। उदाहरण के लिए, Python language defines the following string literals:

  • u'xyz' एक यूनिकोड स्ट्रिंग, यूनिकोड वर्णों के क्रम
  • '\uxxxx' यूनिकोड वर्ण चार हेक्स अंक
  • '\Uxxxxxxxx' से दर्शाया जाता है के साथ एक स्ट्रिंग इंगित करने के लिए के साथ एक स्ट्रिंग इंगित करने के लिए इंगित करने के लिए आठ हेक्स अंकों
+0

इस व्याख्या के लिए धन्यवाद @ जिम। यह वास्तव में सहायक है। मैं उन लिंक किए गए दस्तावेज़ों को देखता हूं। –

+1

http://unicode.org/mail-arch/unicode-ml/y2005-m11/0060.html यू + एचएचएचएच और यू-एचएचएचएचएचएचएच का भी समर्थन करता है। –

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