Jeg opprettet en byte-array med to strenger. Hvordan konverterer jeg en byte-matrise til streng?
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);
Jeg ønsker å konvertere resultat
til en streng. Jeg kan gjøre det med BinaryReader
, men jeg kan ikke bruke BinaryReader
(den støttes ikke).
Forutsatt at du bruker UTF-8-koding:
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);
Du kan gjøre det uten å håndtere koding ved å bruke BlockCopy:
char[] chars = new char[bytes.Length / sizeof(char)];
System.Buffer.BlockCopy(bytes, 0, chars, 0, bytes.Length);
string str = new string(chars);