2011-04-26 66 views
19

¿Cómo puedo obtener el contenido de un archivo de exe y convertirlo en Base64 codificación?binario de base 64 (Delphi)

Editar

utilizo D2010 y quiero saber cómo es posible exactamente?

  • open an exe file
  • convert its content into base64

Respuesta

54

En Delphi 2009/2010/XE hay unidad EncdDecd.pas (Soap.EncdDecd.pas para Delphi XE2) que contiene las funciones EncodeBase64 y DecodeBase64. Puede cargar el archivo exe en un flujo de memoria y luego llamar a EncodeBase64.

function EncodeFile(const FileName: string): AnsiString; 
var 
    stream: TMemoryStream; 
begin 
    stream := TMemoryStream.Create; 
    try 
    stream.LoadFromFile(Filename); 
    result := EncodeBase64(stream.Memory, stream.Size); 
    finally 
    stream.Free; 
    end; 
end; 
+0

Uso D2010 y quiero saber cómo es posible exactamente? '1-abrir un archivo exe'' 2-convertir su contenido en base64'? – Kermia

+0

¿Has mirado si D2010 incluye la unidad 'EncdDecd'? El código de @ Uwe muestra exactamente cómo usarlo. –

+1

La unidad también está disponible en D2010. Edité mi respuesta para incluir un ejemplo. –

9

En versiones antiguas de Delphi, puede utilizar synapse (link here)

sólo hay que poner en su synacode.pas usos e llamada EncodeBase64/EncodeBase64.

Cheers

+1

Synapse no viene con ninguna versión de Windows. ¿Quizás quisiste decir indy? –

+0

@Marco van de Voort. No, me refiero a la sinapsis. Mira el enlace. –

+0

Malo, quise decir que la sinapsis no viene empaquetada con Delphi, indy does. –

Cuestiones relacionadas