DelphiでBase64符号、複合化

DelphiでBase64を使用したい場合、Delphi2009以降は標準で便利なユニットが付いています。

使い方を説明します。

エンコード

usesに「EncdDecd」を追加します。

var
 Stream: TMemoryStream;
 begin
 Stream := TMemoryStream.Create;
 Stream.LoadFromFile(FileName);
 Memo1.Lines.Text := EncodeBase64(Stream.Memory, stream.Size);
 Stream.Free;
 end;

デコード

var
  Stream: TFileStream;
  B: TBytes;
begin
  Stream := TFileStream.Create(FileName, fmCreate);
  B := DecodeBase64(Memo1.Lines.Text);
  Stream.Write(B[0], Length(B));
  Stream.Free;
end;

見ての通り例外処理はぜーんぜん行っていませんので、適宜追加してください。