2011-02-08 14 views
5

मेरे पास बाइट्स की एक सरणी है जो एक आईडी कार्ड पढ़ने वाले बारकोड रीडर (COM पोर्ट के माध्यम से कनेक्ट) से आई है। जब मैं इन कनवर्ट करते हैं, मैं कुछ डेटा की, उदाहरण के लिए पढ़ सकते हैं:एन्कोडेड बाइट्स से स्ट्रिंग डेटा प्राप्त करें

नाम, उपनाम, शहर

आदि, लेकिन अगर डेटा के कुछ 'ई' की तरह कुछ कैरेक्टर हैं या 'Ç', या कुछ वर्ण जो हमारी भाषा में उपयोग किए जाते हैं [ed: OP प्रिस्टिना, कोसोवो में है], मुझे '?' मिलता है। मैं इन पात्रों को डीकोडिंग के माध्यम से कैसे प्राप्त कर सकता हूं?

उत्तर

9

आपको उपयुक्त Encoding पता होना चाहिए जो डिवाइस का उपयोग करता है;

string s = Encoding.UTF8.GetString(bytes); 

लेकिन क्षेत्रीय एन्कोडिंग/कोड-पृष्ठों के लिए आप का उपयोग करना होगा:

यह UTF-16, उदाहरण के लिए, जिस स्थिति

string s = Encoding.Unicode.GetString(bytes); 

या UTF-8 में हो सकता है

string s = Encoding.GetEncoding(yourEncoding).GetString(bytes); 
+0

स्पष्ट और सुंदर – UGEEN

संबंधित मुद्दे