Delphi 自带了 Base64 编解码的单元,叫 EncdDecd,这名字很拗口而且不直观,估计这是一直很少人关注和知道的原因。
这个单元提供两套四个公开函数:
对流的编解码:
procedure EncodeStream(Input, Output: TStream); inline; // deprecated 'Use TNetEncoding.Base64.Encode'; // 编码
procedure DecodeStream(Input, Output: TStream); inline; // deprecated 'Use TNetEncoding.Base64.Decode'; // 解码
// 对字符串的编解码:
function EncodeString(const Input: string): string; inline; // deprecated 'Use TNetEncoding.Base64.Encode';
function DecodeString(const Input: string): string; inline; // deprecated 'Use TNetEncoding.Base64.Decode';
{$IFDEF NEXTGEN}
function DecodeBase64(const Input: string): TBytes; inline; // deprecated 'Use TNetEncoding.Base64.DecodeStringToBytes';
function EncodeBase64(const Input: Pointer; Size: Integer): string; inline; // deprecated 'Use TNetEncoding.Base64.EncodeBytesToString';
{$ELSE !NEXTGEN}
function DecodeBase64(const Input: AnsiString): TBytes; inline; // deprecated 'Use TNetEncoding.Base64.DecodeStringToBytes';
function EncodeBase64(const Input: Pointer; Size: Integer): AnsiString; inline; // deprecated 'Use TNetEncoding.Base64.EncodeBytesToString';
{$ENDIF NEXTGEN}