Frage

Ich habe ein Byte-Array mit zwei Strings 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 konvertieren result zu einer Zeichenfolge.Ich könnte es mit machen BinaryReader, aber ich kann es nicht verwenden BinaryReader (wird nicht unterstützt).

War es hilfreich?

Lösung

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

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

Andere Tipps

Angenommen, Sie verwenden die UTF-8-Kodierung:

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

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

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

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);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top