2011-04-26 57 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