विंडोज स्टडीलिब के तहत wchar_t
का कार्यान्वयन यूटीएफ -16-अनजान है: यह केवल 16-बिट कोड इकाइयों को जानता है।
तो आप एक स्ट्रिंग में यूटीएफ -16 सरोगेट अनुक्रम डाल सकते हैं, और आप इसे उच्च स्तर की प्रसंस्करण का उपयोग करके एक ही चरित्र के रूप में पेश करना चुन सकते हैं। स्ट्रिंग कार्यान्वयन आपकी मदद करने के लिए कुछ भी नहीं करेगा, न ही आपको बाधा डालेगा; यह आपको आपकी स्ट्रिंग में कोड इकाइयों के अनुक्रम को शामिल करने देगा, यहां तक कि उन लोगों को भी जो अमान्य होगा जब यूटीएफ -16 के रूप में व्याख्या की जाएगी।
विंडोज़ की उच्चतर स्तर की विशेषताएं यूटीएफ -16 सरोगेट्स से बने पात्रों का समर्थन करती हैं, यही कारण है कि आप .txt
फ़ाइल को कॉल कर सकते हैं और इसे दोनों सही ढंग से प्रस्तुत कर सकते हैं और सही ढंग से संपादित कर सकते हैं (एक सिंगल कीप्रेस लेना, दो नहीं , चरित्र के पीछे जाने के लिए) एक्सप्लोरर जैसे प्रोग्रामों में जटिल टेक्स्ट लेआउट का समर्थन करते हैं (आमतौर पर विंडोज की यूनिस्क्रिप्ट लाइब्रेरी का उपयोग करते हुए)।
लेकिन वहां अभी भी कर रहे हैं देता है जहां इस तरह के तथ्य आप एक फ़ाइल .txt
, जहां केस-असंवेदनशीलता अन्यथा यह नामंज़ूर के रूप में एक ही फ़ोल्डर में .txt
कहा जाता है बना सकते हैं के रूप में UTF-16-भुलक्कड़ी के माध्यम से चमक रहा है देख सकते हैं, या तथ्य यह है कि आप [U+DC01][U+D801].txt
प्रोग्रामेटिक रूप से बना सकते हैं।
इस प्रकार बैडेंट्स के पास लंबे समय तक और मूल रूप से अर्थहीन तर्क हो सकता है कि क्या विंडोज यूटीएफ -16 तारों या केवल यूसीएस -2 का समर्थन करता है या नहीं।
विंडोज यूसीएस 2 को एन्कोडिंग के रूप में उपयोग करता है। –
यही मैंने सोचा था। हालांकि, मैंने अपने विंडोज कंप्यूटर पर एक फ़ाइल नाम सफलतापूर्वक संपादित किया है जिसमें एक (यू + 1 डी 565) मैथैमेटिकल डबेल-स्ट्राइक लघु टी शामिल है। (Http://programmers.stackexchange.com/questions/102205/should-utf-16-be देखें -considered-हानिकारक)। तो स्पष्ट रूप से, भले ही विंडोज यूसीएस -2 का उपयोग कर रहा हो, फिर भी यह मुझे एक फ़ाइल नाम में एक एसएमपी चरित्र डालने की अनुमति देता है। तो यह कैसे करता है? – vy32
[विकिपीडिया] (http://en.wikipedia.org/wiki/NTFS#Internals) के अनुसार, "एनटीएफएस नाम एन्कोडिंग (फ़ाइल नाम, स्ट्रीम नाम, इंडेक्स नाम इत्यादि) के लिए 16-बिट मानों के अनुक्रम की अनुमति देता है। इसका मतलब है कि यूटीएफ -16 कोडपॉइंट्स समर्थित हैं, लेकिन फ़ाइल सिस्टम यह जांच नहीं करता है कि अनुक्रम वैध यूटीएफ -16 है (यह शॉर्ट वैल्यू के किसी अनुक्रम की अनुमति देता है, जो यूनिकोड मानक में प्रतिबंधित नहीं है) "। –