per se ist AnsiString und String/UnicodeString gleich schnell, bzüglich der Speicherverwaltung, da sie intern identisch sind.
Man darf nur nicht das *2 bzw. *SizeOf(
WideChar) vergessen
Wenn mann will, dann kann man in einen AnsiString auch
Unicode rein tun (CP_UTF16)
und andersrum auch
ANSI in einen UnicodeString (auch wenn ich Letzteres nicht empfehlen würde).