Thema: Delphi String To PWideChar

Einzelnen Beitrag anzeigen

Olli
(Gast)

n/a Beiträge
 
#7

Re: String To PWideChar

  Alt 18. Aug 2007, 23:19
Zitat von messie:
Ich würde angesichts des aussagefähigen Titels in Hinblick auf spätere Suchen gerne nochmal in die Runde fragen: was passiert bei den Typecasts genau? Der Befehl WideString() wandelt jedes Element des Stringarrays von eimem ByteCharacter in ein WordCharacter um. Windows XP und mein D6 können aber beliebig damit umgehen, d.h ich kann einen Widestring fehlerfrei in ein Stringelement tun und umgekehrt.
Bei PChar wird ein nullterminierter String erzeugt, also der String endet am ersten Byte mit dem Wert Null. Wie verhält sich das Array bei PWideChar und wie wird das erkannt?
Bei PWideChar handelt es sich ebenfalls um eine nullterminierte Zeichenkette. Der WideString-Typ von Borland basiert allerdings (im Gegensatz zu AnsiString) auf einem Typ der vom System beretigestellt wird.

Es gibt nur ein klitzekleines Problem mit Konvertierung von PChar nach PWideChar ... wenn es wie oben beschrieben gemacht wird, erfolgt die interne Konvertierung mit der ANSI-Codepage. Allerdings gibt es eine Menge anderer möglicher und gültiger Konvertierungen in dieser Richtung (u.a. sprachabhängig). Also vielleicht lieber mal drüber nachdenken was man genau erreichen will (wobei ich nicht sagen will, daß die Konvertierung wie vorgeschlagen, nicht für den Fall okay sein könnte) und dann entscheiden.

Siehe: MultiByteToWideChar
  Mit Zitat antworten Zitat