próbuję odczytać plik binarny (na przykład plik wykonywalny) na ciąg znaków, a następnie zapisać go z powrotemplik binarny ciąg
FileStream fs = new FileStream("C:\\tvin.exe", FileMode.Open);
BinaryReader br = new BinaryReader(fs);
byte[] bin = br.ReadBytes(Convert.ToInt32(fs.Length));
System.Text.Encoding enc = System.Text.Encoding.ASCII;
string myString = enc.GetString(bin);
fs.Close();
br.Close();
System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
byte[] rebin = encoding.GetBytes(myString);
FileStream fs2 = new FileStream("C:\\tvout.exe", FileMode.Create);
BinaryWriter bw = new BinaryWriter(fs2);
bw.Write(rebin);
fs2.Close();
bw.Close();
to nie działa (wynik ma dokładnie ten sam rozmiar w bajty, ale nie można uruchomić)
jeśli zrobić bw.Write (bin) wynik jest ok, ale muszę go zapisać na ciąg
Czy porównanie heksadecymalne, to bajty w odwrotnej kolejności? (little endian to big endian) – Amirshk
Dlaczego musisz przechowywać go jako ciąg? –