如何把一个二进制文件转换成字符形

解决方案 »

  1.   

    procedure TForm1.RzButton4Click(Sender: TObject);
    var
      st: TStringStream;
      ft: Tfilestream;
      i : integer;
    begin
        query1.SQL.Clear;
        query1.SQL.Add('insert into rtuwav (jpeg) values(:jpeg)');
        ft:=Tfilestream.Create('g:/123.jpeg',fmOpenRead );
        st := tstringstream.Create('');
        st.CopyFrom(ft,ft.Size);
        query1.ParamByName('jpeg').AsBlob:=st.DataString;
        query1.ExecSQL;
        freeandnil(ft);
        freeandnil(st);
    end;
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      FileStream : TFileStream;
      StringStream : TStringStream;
      filesize : integer;
      filestr : String;
    begin
      try
      FileStream:=TFileStream.Create('c:/123.byte',fmOpenRead);
      StringStream:=TStringStream.Create('');
      filesize:=FileStream.Size;
      if filesize>100 then
        StringStream.CopyFrom(FileStream,100)
      else StringStream.CopyFrom(FileStream,filesize);
      filestr:=StringStream.DataString;
      showmessage(filestr);
      finally
        freeandnil(FileStream);
        freeandnil(StringStream);
      end;
    end;
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      FileStream : TFileStream;
      StringStream : TStringStream;
      filesize : integer;
      filestr : String;
      MemoryStream1:TMemoryStream;
    begin
      try
      FileStream:=TFileStream.Create('c:/123.byte',fmOpenRead);
      StringStream:=TStringStream.Create('');
      MemoryStream1:=TMemoryStream.Create;
      filesize:=FileStream.Size;
      if filesize>100 then
        StringStream.CopyFrom(FileStream,100)
      else StringStream.CopyFrom(FileStream,filesize);
      filestr:=StringStream.DataString;
      showmessage(filestr);
      MemoryStream1.CopyFrom(StringStream,StringStream.Size);
      MemoryStream1.SaveToFile('C:/456.byte');
      finally
        freeandnil(FileStream);
        freeandnil(StringStream);
      end;
    end;
      

  4.   

    您的分太少了,该加点吧procedure TForm1.Button2Click(Sender: TObject);
    var
      FileStream : TFileStream;
      StringStream,filestrStream : TStringStream;  filesize : integer;
      filestr : String;
      MemoryStream1:TMemoryStream;
    begin
      try
        FileStream:=TFileStream.Create('c:/123.bmp',fmOpenRead);
        StringStream:=TStringStream.Create('');    MemoryStream1:=TMemoryStream.Create;    StringStream.CopyFrom(FileStream,FileStream.Size);
        filestr:=StringStream.DataString;
        //已经写入filestr中
        filestrStream:=TStringStream.Create(filestr);    MemoryStream1.CopyFrom(filestrStream,filestrStream.Size);
        MemoryStream1.Position:=0;
        Image1.Picture.Bitmap.LoadFromStream(MemoryStream1);
        Image1.Update();
      finally
        freeandnil(FileStream);
        freeandnil(StringStream);
        freeandnil(MemoryStream1);
        freeandnil(filestrStream);
      end;
    end;
      

  5.   

    one int 255 can done this be converted to binary string.
    function binarytostring(a :integer):string;
    var
    bit:char;
    begin
    result:='';
    while a <>0 do
    begin
     bit=(inttostr(a % 2))[1];
     a=a div 2 ;
    result:=result+ bit; 
    end;end;