Forum: Object-Pascal / Delphi-Language
Delphi
by Zacherl,
31. Aug 2008
Das hieße ja ich müsste meinen Zielstring in D2009 als UTF8String deklarieren. Klingt gut .. so langsam verstehe ich die ganze Sache.
Was mich eben verwirrt hat war, um deinen Artikel als Grundlage zu nehmen, dass nur bestimmte Zeichen in der UTF8 Codepage zwei Bytes benötigen, wie z.b. Ä oder sowas. Hierbei hat Length(S) allerdings trotzdem 1 zurückgegeben. Da leuchtet es ein, dass bei der...
Forum: Object-Pascal / Delphi-Language
Delphi
by Zacherl,
31. Aug 2008
Ich habe in meiner D2007 Anwendung per Socket ein Bytearray erhalten, welches einen UTF8 String enthielt. Dann habe ich das Array mit CopyMemory in einen String kopiert und die UTF8 Formatierung wurde automatisch übernommen.
Wenn ich das richtig verstehe, kann ich nichts falsch machen, wenn ich den String als UTF8String deklariere. Sollte halt nur ein AnsiString ankommen würde das keinen...
Forum: Object-Pascal / Delphi-Language
Delphi
by Zacherl,
31. Aug 2008
Aber trotzdem ein Byte lang?
Aus der D2007 System.pas:
type
UTF8String = type string;
Und bei D2007 hat ein Char im String ja Standardmäßig ein Byte.
Forum: Object-Pascal / Delphi-Language
Delphi
by Zacherl,
31. Aug 2008
Hey,
wenn ich ein altes Projekt habe, welches ich schnell auf D2009 lauffähig machen möchte, dann kann ich ja praktisch einfach alle Variablen des String Typs nach AnsiString konvertieren, und hinter alle APIs ein A setzen.
So meine eigentlich Frage ist jetzt, ob ich AnsiString oder UTF8String verwenden muss und wo genau der Unterschied zwischen den beiden Typen liegt.
Gruß Zacherl