Delphi-Quellcode:
function EncodeStringUtf8Base64(const Text: string): string;
var
bufferIn: TArray<Byte>;
outstr:AnsiString;
Len: word;
begin
// wir brauchen ein buffer mit bytes
bufferIn := TEncoding.UTF8.GetBytes(Text);
// die ausgabe erfolgt als ansistring
SetLength(outstr, Length(bufferIn)*3);
// aufruf der funktion
base2n.EncodeBase64(@bufferIn[0], PAnsiChar(outstr), Length(bufferIn), Length(outstr), Len);
// länge des outstr setzen
SetLength(outstr, Len);
// ausgabe als string
Result := string(outstr);
end;
Nur so zur Info:
Mit Base64 werden
binäre Daten (Bytes) in einem 7-bit
ASCII-Text dargestellt (bzw. alle verwendeten Zeichen gehören in die Menge der 7-bit
ASCII Zeichen).
Nicht mehr, nicht weniger.