Cómo convertir la matriz de bytes a la cadena

Creé una matriz de bytes con dos cadenas. ¿Cómo convierto una matriz de bytes en cadenas?

var binWriter = new BinaryWriter(new MemoryStream()); binWriter.Write("value1"); binWriter.Write("value2"); binWriter.Seek(0, SeekOrigin.Begin); byte[] result = reader.ReadBytes((int)binWriter.BaseStream.Length); 

Quiero convertir el result en cadenas. Puedo hacerlo usando BinaryReader . Pero no puedo usar BinaryReader (no es compatible).

Dependiendo de la encoding que desee utilizar:

 var str = System.Text.Encoding.Default.GetString(result); 

Suponiendo que está utilizando la encoding UTF-8:

 string convert = "This is the string to be converted"; // From string to byte array byte[] buffer = System.Text.Encoding.UTF8.GetBytes(convert); // From byte array to string string s = System.Text.Encoding.UTF8.GetString(buffer, 0, buffer.Length); 

Puede hacerlo sin tener que lidiar con la encoding mediante el uso de BlockCopy :

 char[] chars = new char[bytes.Length / sizeof(char)]; System.Buffer.BlockCopy(bytes, 0, chars, 0, bytes.Length); string str = new string(chars); 

Para convertir el byte [] en cadena [], simplemente use la línea a continuación.

 byte[] fileData; // Some byte array //Convert byte[] to string[] var table = (Encoding.Default.GetString( fileData, 0, fileData.Length - 1)).Split(new string[] { "\r\n", "\r", "\n" }, StringSplitOptions.None); 

Una opción alternativa es:

 string convert = "This is the string to be converted"; convert.CopyTo(0, buffer, 0, convert.length); 

Ver String.CopyTo (MSDN).

    Intereting Posts