यहां दो मुद्दे हैं। पहला यह है कि सी ++ कोड (और टिप्पणियों), जैसे वेरिएबल नामों में वर्णों की अनुमति है। दूसरा यह है कि तारों और स्ट्रिंग अक्षर में वर्णों की अनुमति है।
जैसा कि उल्लेख किया गया है, सी ++ कंपाइलर्स कोड और टिप्पणियों में अनुमत वर्णों के लिए एक बहुत प्रतिबंधित ASCII- आधारित वर्ण सेट का समर्थन करना चाहिए। प्रैक्टिस में, इस चरित्र सेट ने कुछ यूरोपीय चरित्र सेटों के साथ बहुत अच्छा काम नहीं किया (और विशेष रूप से कुछ यूरोपीय कीबोर्डों के साथ जिनमें कुछ अक्षर नहीं थे - जैसे स्क्वायर ब्रैकेट्स - उपलब्ध), इसलिए डिग्राफ और ट्रिग्राफ की अवधारणा थी की शुरुआत की। कई कंपाइलर्स इस समय इस चरित्र सेट से अधिक स्वीकार करते हैं, लेकिन कोई गारंटी नहीं है।
स्ट्रिंग्स और स्ट्रिंग अक्षर के लिए, सी ++ में एक विस्तृत चरित्र और विस्तृत चरित्र स्ट्रिंग की अवधारणा है। हालांकि, उस चरित्र सेट के लिए एन्कोडिंग अपरिभाषित है। व्यवहार में यह लगभग हमेशा यूनिकोड है, लेकिन मुझे नहीं लगता कि यहां कोई गारंटी है। वाइड कैरेक्टर स्ट्रिंग अक्षर एल "स्ट्रिंग शाब्दिक" की तरह दिखते हैं, और इन्हें std :: wstring के लिए असाइन किया जा सकता है।
सी ++ 11 यूनिकोड तार और स्ट्रिंग शाब्दिक के लिए स्पष्ट समर्थन, UTF-8, UTF-16 बड़ी endian, UTF-16 छोटे endian, UTF-32 बड़ी endian और UTF-32 छोटे endian के रूप में एन्कोड जोड़ा ।
स्रोत
2008-12-02 00:14:49
* आरई: "जिसे भी कहा जाता है": * [विकिपीडिया से] (https://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane): पहला विमान, ** विमान 0 **, ** बेसिक बहुभाषी विमान (बीएमपी) ** में लगभग सभी आधुनिक भाषाओं के लिए वर्ण हैं, और बड़ी संख्या में प्रतीकों हैं। बीएमपी का प्राथमिक उद्देश्य पूर्व चरित्र सेट के साथ-साथ लेखन के पात्रों के एकीकरण का समर्थन करना है। बीएमपी में दिए गए अधिकांश कोड बिंदुओं का उपयोग ** चीनी **, ** जापानी **, और ** कोरियाई (सीजेके) ** अक्षरों को एन्कोड करने के लिए किया जाता है। – DavidRR