Du kannst da eifnach eine Typecast auf AnsiString machen:
Delphi-Quellcode:
var
MeinAnsiStr: AnsiString;
MeineBytes: TBytes;
begin
MeinAnsiStr := AnsiString(Memo1.Lines.Text);
// Kann zu Zeichenverlust führen, wenn ein Zeichen nicht im ANSI untersützt wird!
MeineBytes := BytesOf(MeinAnsiStr);
...
end;
Du musst da aber aufpassen, denn wenn dein Memo Unicodezeichen enthält, die es im
ANSI nicht gibt, wirst du da an der Stelle ein "?" haben. Da musst dir gründlich überlegen, ob du das da nicht anderst machen willst, damit keine Konvertierung
Unicode/
ANSI stattfinden muss.
Du könntest ja auch einfach alles als
Unicode nutzen und verschlüsseln.
MeineBytes := BytesOf(Memo1.Lines.Text);
In diesem Fall hast du ein ByteArray aus Unicodezeichen, also in der Regel sowas wie 40 00 45 00... Das könnte ja deine Routine auch auf Bytebene (wie bisher AnsiChar) vershlüsseln. StringOf(MeineBytes) macht dann übrigens das Gegenteil, also aus TBytes wieder ein String.