Как да конвертирате масив от байтове в низ

Създадох масив от байтове с два символа. Как да преобразувам байтовия масив в низ?

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);

Искам да преобразувам резултат в низ. Мога да го направя с помощта на BinaryReader, но не мога да използвам BinaryReader (не се поддържа).

Решение

В зависимост от кодирането, което искате да използвате:

var str = System.Text.Encoding.Default.GetString(result);
Коментари (8)

Предполага се, че използвате кодиране 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);
Коментари (4)

Можете да го направите, без да се занимавате с кодиране, като използвате BlockCopy:

char[] chars = new char[bytes.Length / sizeof(char)];
System.Buffer.BlockCopy(bytes, 0, chars, 0, bytes.Length);
string str = new string(chars);
Коментари (5)