यह ज्यादातर सैद्धांतिक प्रश्न है जो मैं बहुत उत्सुक हूं। (मैं इसे स्वयं या कुछ भी कोडिंग करके ऐसा करने की कोशिश नहीं कर रहा हूं, मैं पहियों को पुनर्निर्मित नहीं कर रहा हूं।)यूनिकोड में स्ट्रिंग्स को अपरकेस/लोअरकेस में कैसे सेट करते हैं?
मेरा प्रश्न यह है कि समकक्ष की अपरकेस/लोअरकेस तालिका यूनिकोड के लिए कैसे काम करती है।
उदाहरण के लिए, अगर मुझे इसे एएससीआईआईआई में करना है, तो मैं एक चरित्र लेता हूं, और यदि यह [ए-जेड] रेंज के साथ आता है, तो मैं ए और ए के बीच का अंतर जोड़ूंगा।
यदि यह उस सीमा पर नहीं आता है, तो मेरे पास 10 या इतने उच्चारण वाले वर्णों के लिए एक छोटी समकक्ष तालिका होगी।
हालांकि, मेरा अनुमान है कि वहाँ यूनिकोड में equivalences निर्दिष्ट करने के लिए एक बेहतर तरीका है कि (या, मैं सिर्फ 256 प्रविष्टियों, जिनमें से अधिकांश इनपुट के रूप में ही होगा के साथ एक पूर्ण तुल्यता सरणी हो सकता था), यह देखते हुए कि सैकड़ों हजार वर्ण हैं, और सैद्धांतिक रूप से, एक नई भाषा या पात्रों के सेट को जोड़ा जा सकता है (और मुझे उम्मीद है कि जब ऐसा होता है तो आपको खिड़कियों को पैच करने की आवश्यकता नहीं होगी)।
क्या विंडोज के पास प्रत्येक चरित्र के लिए एक बड़ी हार्ड-कोडेड समतुल्य तालिका है? या यह कैसे लागू किया जाता है?
एक संबंधित प्रश्न यह है कि SQL सर्वर यूनिकोड-आधारित उच्चारण-असंवेदनशील और केस-असंवेदनशील प्रश्नों को कैसे लागू करता है। क्या इसमें एक आंतरिक तालिका है जो बताती है कि è è ई È और Ë सभी "ई" के बराबर हैं?
तारों की तुलना करने की बात आने पर यह बहुत तेज नहीं लगता है।
यह इंडेक्स को जल्दी से कैसे एक्सेस करता है? क्या यह पहले से ही उस क्षेत्र के संयोजन के अनुरूप उनके "आधार" वर्णों में परिवर्तित मूल्यों को सूचीबद्ध करता है?
क्या कोई इन चीजों के लिए आंतरिक जानता है?
धन्यवाद!
मुझे उम्मीद है कि यदि आप यूनिकोड में एक नया चरित्र सेट जोड़ते हैं तो आपको विंडोज़ पैच करने की आवश्यकता होगी, लेकिन यह बहुत कम प्राथमिकता पैच होगा, क्योंकि शुरुआत में कोई भी उन पात्रों का उपयोग नहीं करेगा। –
"10 या उससे अधिक उच्चारण वाले पात्रों के लिए एक छोटी समतुल्य तालिका" - आपको यह समझना होगा कि "छोटा" का मतलब है कि इसका मतलब यह है कि इसका मतलब 100 गुना बड़ा है। –
मुझे पूरी तरह से यकीन नहीं है कि मैं समझता हूं कि ई पर सभी प्रकार क्यों हैं कि मैं अपने कीबोर्ड के साथ आसानी से सभी बराबर "ई" टाइप नहीं कर सकता। मैं इसे डेटाबेस बिंदु दृश्य से समझ सकता हूं (विशेष उच्चारणों को अनदेखा करने के लिए खोजना) लेकिन एक भाषा परिप्रेक्ष्य से वे सभी अलग-अलग वर्ण हैं ... –