2011-04-26 58 views
19

如何获取exe文件的内容并将其转换为Base64编码?二进制到Base64(德尔福)

编辑

我用D2010,我想知道怎么可能是什么呢?

  • open an exe file
  • convert its content into base64

回答

54

在的Delphi 2009/2010/XE有单元EncdDecd.pasSoap.EncdDecd.pas为Delphi XE2)含有功能EncodeBase64DecodeBase64。您可以将exe文件加载到内存流中,然后调用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

我使用D2010,我想知道它究竟有多可能? '1 - 打开一个exe文件''2 - 将其内容转换为base64'? – Kermia 2011-04-26 19:34:22

+0

你看看D2010是否包含'EncdDecd'单元? @ Uwe的代码告诉你如何使用它。 – 2011-04-26 19:35:44

+1

该装置也可在D2010中使用。我编辑了我的答案,包括一个例子。 – 2011-04-26 19:35:45

9

在古老的Delphi的版本中,你可以使用synapselink here

只要把synacode.pas在你使用的是E通话EncodeBase64/EncodeBase64。

干杯

+1

Synapse不附带任何版本的Windows。也许你的意思是indy? – 2012-04-20 12:31:20

+0

@Marco van de Voort。不,我的意思是突触。看链接。 – 2013-05-24 13:17:40

+0

我的不好,我的意思是突触不会和Delphi打包在一起,indy会。 – 2013-05-25 15:40:13