ray_code, intenté su código en mi archivo de .exe. Como usted dijo los octetos antes y después de diferencian.
La razón por la que diferencian:
Debajo está una línea del msdn (codificaciones de comprensión:
http://msdn.microsoft.com/en-us/library/ms404377.aspx)“•¿Si su uso tiene contenido que no sea terminantemente ASCII y no lo codifique con ASCIIEncoding, cada carácter no-ASCII codifica como signo de interrogación (”? "). Si el uso entonces descifra estos datos, se pierde la información.”
Obvioursly los datos del octeto del archivo de .exe es “no ASCII” y se pierde la información.
Cuál es la solución para esto:
Debajo está una línea del msdn (clase de la codificación:
http://msdn.microsoft.com/en-us/library/system.text.encoding.aspx)“Si su uso debe codificar datos binarios arbitrarios en el texto, debe utilizar un protocolo tal como uuencode, que es ejecutado por métodos tales como Convert.ToBase64CharArray.
”
Los datos del octeto del archivo de .exe son obviamente datos binarios arbitrarios y usted debe considerar usar la codificación Base64 en lugar de otro según las indicaciones del código abajo: