Kod
function StreamToString(Stream: TStream): String;
var
  Size: Integer;
  p: PChar;
begin
  Size := Stream.Size;
  SetLength(Result, Size * 2);
  GetMem(p, Size);
 
  Stream.Position := 0;
  Stream.Read(p^, Size);
 
  BinToHex(p, PChar(@Result[1]), Size);
 
  FreeMem(p, Size);
end;
 
procedure StringToStream(const s: String; Stream: TStream);
var
  Size: Integer;
  p: PChar;
begin
  Size := Length(s) div 2;
  GetMem(p, Size);
 
  HexToBin(PChar(@s[1]), p, Size * 2);
 
  Stream.Position := 0;
  Stream.Write(p^, Size);
 
  FreeMem(p, Size);
end;