Es ist nicht umbedingt alles 100% Compiler magic
Delphi-Quellcode:
var
A:
string;
// AnsiString
W: WideString;
PW: PWideChar;
begin
A := '
Hallo';
W := A;
// Hier wird die API-Funktion WideCharToMultiByte mit aktueller Codepage aufgerufen
W := '
Hallo';
A := W;
// Hier wird die API-Funktion WideCharToMultiByte mit aktueller Codepage aufgerufen
PW := PWideChar(W);
end;
Der nachteil ist natürlich das man die Codepage nicht bestimmen kann. Z.B. ein 'ä' wird unter einem chinesischen Windows ein a.