请补充代码:var
  F: TFileStream;
  FileName: string;
  ...
begin 
  //读取十六进制文件到流 C:\测试.test
  FileName := 'C:\测试.test';
  F := TFileStream.Create(FileName, fmOpenRead);  //将十六进制流转换成英文字符或中文字符
  ....
end;有劳各位给出完整的代码,谢谢!

解决方案 »

  1.   

    未经测试,仅供参考:
    var
      si, so: TStream;
      buffer: array[0..1023] of Byte;
      rBuf: array[0..2047] of Byte;
      rSize, wSize: Integer;
    begin
      si := TFileStream.Create('c:\测试.txt', fmOpenRead);
      so := TFileStream.Create('c:\测试1.txt', fmCreate);  // 转换后,保存在c:\测试1.txt
      rSize := 2048;
      while rSize = 2048 do
      begin
        rSize := si.Read(rBuf, rSize);
        wSize := HexToBin(@rBuf, @buffer, rSize div 2);
        so.Write(buffer, wSize);
      end;
      so.Free;
      si.Free;
    end;
      

  2.   

    UPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUP
      

  3.   

    var
      si, so: TStream;
      buffer: array[0..1023] of Byte;
      rBuf: array[0..2047] of Byte;
      rSize, wSize: Integer;
    begin
      si := TFileStream.Create('c:\测试.txt', fmOpenRead);
      so := TFileStream.Create('c:\测试1.txt', fmCreate);  // 转换后,保存在c:\测试1.txt
      rSize := 2048;
      while rSize = 2048 do
      begin
        rSize := si.Read(rBuf, rSize);
        wSize := HexToBin(@rBuf, @buffer, rSize div 2);
        so.Write(buffer, wSize);
      end;
      so.Free;
      si.Free;
    end;
    这一段可以,不过要考虑字符串过多照成溢出的问题