如何在"Delphi"中打开二进制文件(exe),就像Visual Basic一样?

Ker*_*mia 2 delphi binary exe file

在visual basic中我可以用以下方式打开二进制(exe)文件:

Strx$ = Space(FileLen(FileName))
Open FileName For Binary As #1
  Get #1, , Strx$
Close
Run Code Online (Sandbox Code Playgroud)

通过这种方式,我可以读取所有二进制文件字符并读取此格式的文件内容:

alt text http://up.iranblog.com/Files/4b97136a8452414b97b1.png 问题是如何在delphi中用字符串格式(如图像)而不是0,1(二进制)格式打开二进制(exe)文件?

谢谢!

Rob*_*ove 6

EXE文件包含嵌入的NULL(#0)字符.您可能在使用字符串时遇到问题,因为通常会在字符串的末尾找到NULL.一旦遇到NULL,一些例程将停止使用字符串.

说过以下内容会将文件内容变为字符串.

function GetFileIntoString(FileName : String) : String;
var
 SS : TStringStream;
begin
  SS := TStringStream.Create('');   
  try
    SS.LoadFromFile(FileName);
    result := SS.DataString;
  finally
    SS.Free;
  end;
end;
Run Code Online (Sandbox Code Playgroud)

  • 请参阅https://forums.codegear.com/thread.jspa?threadID=31135&tstart=42 - 在Delphi 2009+中TStringStream是一个字节流(不是字符流),这很好,但访问DataString将处理通过TEncoding类的原始字节,在此代码示例中未知. (2认同)