Створено байтовий масив з двома рядками. Як перетворити байтовий масив в рядок?
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);
Я хочу перетворити результат
в рядок. Я міг би зробити це з допомогою BinaryReader
, але я не можу використати BinaryReader
(він не підтримується).
За умови, що ви використовуєте кодування UTF-8:
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);
Ви можете зробити це, не маючи справи з кодуванням, використовуючи BlockCopy:
char[] chars = new char[bytes.Length / sizeof(char)];
System.Buffer.BlockCopy(bytes, 0, chars, 0, bytes.Length);
string str = new string(chars);