Ma lõin kahe stringiga baidimassiivi. Kuidas ma konverteerin baidimassiivi stringiks?
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);
Ma tahan konverteerida result
stringiks. Ma võiksin seda teha BinaryReader
i abil, kuid ma ei saa kasutada BinaryReader
i (seda ei toetata).
Eeldades, et kasutate UTF-8 kodeeringut:
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);
Seda saab teha ilma kodeerimisega tegelemata, kasutades BlockCopy:
char[] chars = new char[bytes.Length / sizeof(char)];
System.Buffer.BlockCopy(bytes, 0, chars, 0, bytes.Length);
string str = new string(chars);