Zitat von
Robert Marquardt:
Erstens ist AllocMem besser, da es den alloziierten Speicher initialisiert und zweitens rechnen die Funktionen in Bytes, also ist GetMem(wBuf, MAX_PATH*SizeOf(WideChar)); richtig.
Letztlich kann man sich das alles sparen. Man weise einen string einem WideString zu bzw umgekehrt und Delphi wird es schon richten.
Fuer Big Endian muss ein BOM vorhanden sein. Sprich das erste Zeichen des Strings sagt den Endian an. $FFFE bzw $FEFF.
Utf8Encode duerfte das erledigen.
Dies trifft leider nur bei Delphi Versionen > 2.01 zu.
Es ist besser zu schweigen und als Idiot zu gelten als zu Reden und dadurch den Beweis anzutreten.
A. Lincoln