是不是用BytesToRaw和RawToBytes?如果是的话请指教具体用法

解决方案 »

  1.   

    Indy10有好几个版本。
    Stream转Bytes//第一个参数,就是那个TMemoryStream,第二个参数是一个TIdBytes类型,第三个是你需要取多少字节,返回值是实际取得的字节数
    function ReadTIdBytesFromStream(const AStream: TStream; var ABytes: TIdBytes; const Count: Integer): Integer;
    var
      mem: TMemoryStream;
      bytes: TIdBytes;
    ...
      mem.Position := 0;
      ReadTIdBytesFromStream(mem,Bytes,mem.Size);
      反过来可以使用
    procedure WriteTIdBytesToStream(const AStream: TStream; const ABytes: TIdBytes;
      const ASize: Integer = -1; const AIndex: Integer = 0);
      

  2.   

    procedure WriteTIdBytesToStream(const AStream: TStream; const ABytes: TIdBytes; 
      const ASize: Integer = -1; const AIndex: Integer = 0);
    后面两个参数什么意思?可以不用么?
      

  3.   

    不用就是使用它的默认值。ASize是你要从Stream当中读取多少字节,默认-1表示所有
    AIndex表示,从ABytes的第AIndex+1个位置开始读入,意在可以保留ABytes原有的内容,或者部分内容。
      

  4.   

    indy10这个搞死人哦 谁能来点详细的TMemoryStream转换TBytes