Einzelnen Beitrag anzeigen

peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
672 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Wie benutzt man Wolfgang Erhardts Base64 Unit?

  Alt 15. Jul 2019, 16:52
Ich komme mit den WE Units mal wieder nicht klar. Und ne, andere möchte ich nicht nutzen.
Wie enkodiert man einen String in Base64 mit den WE Units?
Der Funktionskopf
Delphi-Quellcode:
procedure EncodeBase64(psrc,pdest: pointer; lsrc,ldest: word; var LA: word);
  {-Base64 encode src to dest, LA result length of dest string}
Src habe ich. Dest scheint nur ein leerer PChar zu sein. lsrc also die Länge von Source habe ich auch. Aber woher soll ich die ldst Länge von dest wissen ?!

Das hier scheint eher nicht zu funktionieren
Delphi-Quellcode:
function Base64(const Text: PChar): string;
var
 Dest: PChar;
 L: Word;
begin
 EncodeBase64(Text, Dest, Length(Text), Length(Dest), L);
 Result := Dest;
end;
Du mußt der Routine den Speicher übergeben, den sie füllen soll, z. B.

Dest: String;
begin
SetLength(Dest, Lenght(Text)*3);
EncodeBase64(Test, @Dest[1]), length(text), length(dest), L);

L sagt Dir dann, wieviel des Dest-Puffers wirklich verwendet wurde.

Cave Unicode! Keine Ahnung ob die Bibliothek mit ANSI oder widechars arbeitet.
Peter Below
  Mit Zitat antworten Zitat