Закодировать byte[] в string и обратно - C#
Формулировка задачи:
Подскажите пожалуйста где ошибка и как правильно сделать. Надо передать byte[]. В этом массиве имя файла, разделитель и сам файл. Делаю вот так:
Файл получается нечитаемый. Вот в этой строке:
уже другой размер у файла.
//добавляю к имени файла разделитель string fileName = sendfile.Key + "[stop]"; // преобразую имя файла в byte[] byte[] bytes1 = Encoding.UTF8.GetBytes(fileName); //преобразую файл в byte[] byte[] file = File.ReadAllBytes(sendfile.Key); //соединяю два массива byte[] result = new byte[0]; result = bytes1.Concat(file).ToArray(); //и отправляю //когда получаю преобразовываую в строку чтобы отделить имя файла var dd = Encoding.UTF8.GetString(file); //отделяю имя и конвертирую снова в байты чтобы сохранить в папку var ddd = Encoding.UTF8. GetBytes(dd); File.WriteAllBytes(fName, dd);
var ddd = Encoding.UTF8. GetBytes(dd);
Решение задачи: «Закодировать byte[] в string и обратно»
textual
Листинг программы
byte[] recvBuf = sendBuf; using (var ms = new MemoryStream(recvBuf)) using (var br = new BinaryReader(ms)) { string filename2 = br.ReadString(); int fileSize = br.ReadInt32(); byte[] filedata2 = br.ReadBytes(fileSize); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д