2011-03-25 15 views
35

मैं byte सरणी को char सरणी में सी # में कैसे परिवर्तित करूं?बाइट [] से char []

+0

आपको पहले एन्कोडिंग निर्धारित करने की आवश्यकता है (यदि आप इसे नहीं जानते हैं)। [एचटीएमएल 5 §8.2.2.2 के लिए डब्ल्यू 3 सी का spec] (http://www.w3.org/TR/html5/syntax.html#determining-the-character-encoding) एचटीएमएल 5 पेज के लिए एन्कोडिंग निर्धारित करने के लिए कदम प्रदान करता है, लेकिन यह कुछ चरणों में शामिल हैं जिन्हें अन्य अनुप्रयोगों के लिए अपनाया जा सकता है। –

उत्तर

47
System.Text.Encoding.ChooseYourEncoding.GetString(bytes).ToCharArray(); 

उपरोक्त दाएं एन्कोडिंग का विकल्प: उदा।

System.Text.Encoding.UTF8.GetString(bytes).ToCharArray(); 
2
byte[] a = new byte[50]; 

char [] cArray= System.Text.Encoding.ASCII.GetString(a).ToCharArray(); 

यूआरएल thedixon तैनात

http://bytes.com/topic/c-sharp/answers/250261-byte-char

आप एक स्ट्रिंग के लिए यह पहली बार परिवर्तित किए बिना बाइट ToCharArray नहीं कर सकता से।

जॉन स्कीट वहाँ

नकल यहाँ कोई ज़रूरत नहीं है के शब्दों में - सिर्फ Encoding.GetChars का उपयोग करें। हालांकि, इस बात की कोई गारंटी नहीं है कि ASCII उपयोग करने के लिए उचित एन्कोडिंग होने जा रहा है।

11

आपको स्रोत एन्कोडिंग पता होना चाहिए।

string someText = "The quick brown fox jumps over the lazy dog."; 
byte[] bytes = Encoding.Unicode.GetBytes(someText); 
char[] chars = Encoding.Unicode.GetChars(bytes);