में स्ट्रिंग प्रदर्शित करना मैं विंडोज़ के लिए केवल एक सी ++ प्रोग्राम पर काम कर रहा हूं जहां हमें "हमेशा std :: wstring का उपयोग करें" कहा गया था, लेकिन ऐसा लगता है कि टीम के किसी भी व्यक्ति के पास वास्तव में उससे अधिक समझ नहीं है।सी ++ के std :: wstring, UTF-16, UTF-8 के बारे में उलझन में और विंडोज़ GUI
मैंने पहले से ही "std::wstring VS std::string शीर्षक वाले प्रश्न को पढ़ा है। यह बहुत उपयोगी था, लेकिन मुझे अभी भी समझ में नहीं आता कि मेरी सारी समस्या के बारे में सारी जानकारी कैसे लागू करें।
प्रोग्राम मैं विंडोज़ जीयूआई में डेटा प्रदर्शित करने पर काम कर रहा हूं। वह डेटा एक्सएमएल के रूप में जारी है। हम एक्सएमएलटी का उपयोग करते हुए उस एक्सएमएल को एचटीएमएल या एक्सएसएल में बदलते हैं: एफओओ रिपोर्टिंग उद्देश्यों के लिए।
मैंने जो पढ़ा है उसके आधार पर मेरी भावना यह है कि HTML को यूटीएफ -8 के रूप में एन्कोड किया जाना चाहिए। मुझे जीयूआई विकास के बारे में बहुत कम पता है, लेकिन मैंने जो कुछ पढ़ा है, वह इंगित करता है कि जीयूआई सामान यूटीएफ -16 एन्कोडेड तारों पर आधारित है।
मैं यह समझने की कोशिश कर रहा हूं कि यह मुझे कहां छोड़ देता है। मान लें कि हम तय करते हैं कि हमारे सभी निरंतर डेटा यूटीएफ -8 एन्कोडेड एक्सएमएल होना चाहिए। क्या इसका मतलब यह है कि यूआई घटक में लगातार डेटा प्रदर्शित करने के लिए, मुझे वास्तव में यूटीएफ -16 ट्रांसकोडिंग प्रक्रिया में कुछ प्रकार के स्पष्ट यूटीएफ -8 प्रदर्शन करना चाहिए?
मुझे संदेह है कि मेरी व्याख्या स्पष्टीकरण का उपयोग कर सकती है, इसलिए यदि आप कोई प्रश्न पूछें तो मैं यह उपलब्ध कराने की कोशिश करूंगा।
यह कहना वास्तव में सटीक नहीं है कि * निक्स यूटीएफ -8 पर आधारित है जिस तरह से विंडोज यूटीएफ -16 पर आधारित है। यह लोकेल-परिभाषित वर्ण एन्कोडिंग (विंडोज टर्मिनोलॉजी, एएनएसआई में) पर आधारित है। POSIX की आवश्यकता है कि कुछ वर्ण (एनयूएल समेत) को एक बाइट में प्रदर्शित किया जाए, इसलिए यूटीएफ -16 और यूटीएफ -32 की अनुमति नहीं है, लेकिन यूटीएफ -8 है। – dan04