So konvertieren Sie ein Byte-Array in einen String [Duplikat]
-
11-12-2019 - |
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).
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