2011-03-25 27 views
35

¿Cómo convierto una matriz byte en una matriz char en C#?Convertir byte [] en char []

+0

Primero debe determinar la codificación (si no la conoce). [La especificación del W3C para HTML5 §8.2.2.2] (http://www.w3.org/TR/html5/syntax.html#determining-the-character-encoding) proporciona los pasos para determinar la codificación de una página HTML5, pero contiene algunos pasos que podrían adoptarse para otras aplicaciones. –

Respuesta

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

Sustituya la codificación correcta de arriba: p.

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

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

Desde la URL thedixon publicada

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

No se puede ToCharArray el byte sin convertirlo en una cadena en primer lugar.

Para citar Jon Skeet no

No hay necesidad de que la copia aquí - sólo tiene que utilizar Encoding.GetChars. Sin embargo, no hay garantía de que ASCII sea que va a ser la codificación adecuada para usar.

11

Debe conocer la codificación de la fuente.

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