में कनवर्ट करने के लिए कैसे करें समस्या:यूनिकोड वर्ण को उसके ASCII समकक्ष
सी # में मुझे विरासत एक्सेस डेटाबेस से जानकारी मिल रही है। .NET मुझे सामग्री को सौंपने से पहले डेटाबेस की सामग्री (इस समस्या के मामले में एक स्ट्रिंग) को यूनिकोड में परिवर्तित करता है।
मैं इस यूनिकोड स्ट्रिंग को इसके ASCII समकक्ष में कैसे परिवर्तित करूं?
संपादित
यूनिकोड वर्ण 710 वास्तव में संशोधक पत्र स्वरित लहजे है।
string myInput = Convert.ToString(Convert.ToChar(710));
byte[] asBytes = Encoding.ASCII.GetBytes(myInput);
लेकिन यह भी नहीं होती:
-> (Extended) ASCII character ê (Extended ASCII 136) was inserted in the database. -> Either Access or the reading component in .NET converted this to U+02C6 U+0065 (MODIFIER LETTER CIRCUMFLEX ACCENT + LATIN SMALL LETTER E) -> I need the (Extended) ASCII character 136 back.
यहाँ मैं (मैं अब देखना यह क्यों काम नहीं किया ...) क्या कोशिश की है है: यहाँ समस्या थोड़ा और अधिक सटीक है 94 लेकिन मूल्य 63 ...
यहाँ एक नया प्रयास है, लेकिन यह अभी भी काम नहीं करता है के साथ एक बाइट:
byte[] bytes = Encoding.ASCII.GetBytes("ê");
Soltution
सही दिशा में इशारा करते हुए के लिए दोनों csgero और bzlm के लिए धन्यवाद मैं इस समस्या here हल किया।
अवधि "विस्तारित ASCII" भ्रामक है। यदि आपका इनपुट डेटा वास्तव में ASCII है, तो कोई ë या "वर्ण संख्या 136" नहीं है। यह अधिक संभावना है कि आपके डेटा में एएससीआईआई द्वारा वर्णित वर्ण शामिल नहीं हैं, जैसे कि विंडोज -1252 जैसे विरासत 8-बिट एन्कोडिंग द्वारा प्रतिनिधित्व किए जाने वाले अंतरराष्ट्रीय डेटा। – bzlm
मुझे पता है, इस विषय के बारे में एक संपूर्ण विकिपीडिया लेख है। – Huppie
आपको समाधान को उत्तर के रूप में पोस्ट करना चाहिए, न कि प्रश्न में, इसलिए हम इसके लिए मतदान कर सकते हैं। –