function Base64Encode(s : string) : string; //base64 编码
var base64 : TIdEncoderMIME;
tmpBytes : TBytes;
begin
base64 := TIdEncoderMIME.Create(nil);
try
base64.FillChar := '=';
tmpBytes := TEncoding.UTF8.GetBytes(s);
Result := base64.EncodeBytes(TIdBytes(tmpBytes)); //Delphi默认加密会78个字符进行换行,后者过滤掉换行//Result := base64.EncodeBytes(TIdBytes(tmpBytes)).Replace(sLineBreak, '', [rfReplaceAll]);
finally
base64.Free;
end;
end;
function Base64Decode(s : string) : string; //base64 解码
var base64 : TIdDeCoderMIME;
tmpBytes : TBytes;
begin
Result := s;
base64 := TIdDecoderMIME.Create(nil);
try
base64.FillChar := '=';
tmpBytes := TBytes(base64.DecodeBytes(s));
Result := TEncoding.UTF8.GetString(tmpBytes);
finally
base64.Free;
end;
end;
uses EncdDecd 函数DecodeString
uses System.NetEncoding 函数TBase64Encoding.Base64.Decode