it-swarm.com.de

So konvertieren Sie ein Byte-Array in einen String

Ich habe ein Byte-Array mit zwei Zeichenfolgen erstellt. Wie konvertiere ich ein Byte-Array in einen String?

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

Ich möchte result in einen String konvertieren. Ich könnte es mit BinaryReader tun, aber ich kann BinaryReader nicht verwenden (es wird nicht unterstützt).

625
Oksana

Abhängig von der Codierung, die Sie verwenden möchten:

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

Angenommen, Sie verwenden die UTF-8-Codierung:

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

Mit BlockCopy können Sie dies tun, ohne sich mit der Codierung zu befassen:

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

Um das Byte [] in einen String [] umzuwandeln, verwenden Sie einfach die folgende Zeile.

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);
8
Mansoor Ali