有人能给我提供一个如何使用EncodeBase64
和DecodeBase64
从库Soap.EncdDecd
的例子吗?我使用Delphi xe2
您没有指定要编码或解码的数据类型。DecodeBase64
和EncodeBase64
函数在内部使用EncodeStream
和DecodeStream
,理论上你可以使用这些基于流的函数来编码或解码任何类型或数据(在使用流保存数据之后)。
对于编码/解码字符串,只需直接使用EncodeString
和DecodeString
函数。
function EncodeString(const Input: string): string;
function DecodeString(const Input: string): string;
对于流使用EncodeStream
和DecodeStream
procedure EncodeStream(Input, Output: TStream);
procedure DecodeStream(Input, Output: TStream);
EncodeBase64的示例
function DecodeBase64(const Input: AnsiString): TBytes;
function EncodeBase64(const Input: Pointer; Size: Integer): AnsiString;
例如,编码一个文件并使用EncodeBase64
函数返回一个字符串,你可以尝试这个(显然你也可以直接使用EncodeStream函数)。
function EncodeFile(const FileName: string): AnsiString;
var
LStream: TMemoryStream;
begin
LStream := TMemoryStream.Create;
try
LStream.LoadFromFile(Filename);
Result := EncodeBase64(LStream.Memory, LStream.Size);
finally
LStream.Free;
end;
end;
现在要使用DecodeBase64
函数,只需传递一个已经编码的字符串,该函数将返回一个TBytes(字节数组)。