ray_code, ho provato il vostro codice sulla mia lima di .exe. Avete detto i byte prima e dopo differiscono.
La ragione per la quale differiscono:
Sotto è una linea da msdn (le codifiche di comprensione:
http://msdn.microsoft.com/en-us/library/ms404377.aspx)“•Se la vostra applicazione ha soddisfare che non è rigorosamente ASCII e non lo mette in codice con ASCIIEncoding, ogni carattere non-ASCII mette come punto interrogativo ("? "). Se l'applicazione allora decodifica questi dati, le informazioni sono perse.„
Obvioursly i dati di byte dalla lima di .exe è “non ASCII„ e le informazioni sono perse.
Che cosa è la soluzione per questo:
Sotto è una linea da msdn (codice categoria della codifica:
http://msdn.microsoft.com/en-us/library/system.text.encoding.aspx)“Se la vostra applicazione deve mettere i dati in codice binari arbitrari in testo, dovrebbe usare un protocollo quale il uuencode, che è realizzato con i metodi quale Convert.ToBase64CharArray.
„
I dati di byte dalla lima di .exe sono ovviamente dati binari arbitrari e dovreste considerare using la codifica Base64 preferibilmente secondo le indicazioni del codice qui sotto: