Zitat von
JamesTKirk:
Was heißt hier "nur UTF-8"? Was braucht man mehr? Braucht man unbedingt UTF-16 oder WideStrings? Ich denke nicht. Und UTF-8 unterstützen alle gängigen Plattformen
Windows verwendet ab NT UCS2 und ab
W2K UTF-16. Verwendet nun dein Programm intern UTF8 muss für jedes Zeichnen eines Textes dieser UTF8-Text passend gewandelt werden und mit den entsprechenden Wide-
API-Aufrufen dargestellt werden. Das ist mit Sicherheit nicht gerade Performance-Steigernd wenn viel Text dargestellt wird der sich öfter ändert. Der Weg den Delphi2009 geht ist sinnvoller als UTF8. Java und .NET verwenden von Hause aus UTF-16 um hier kein unnötiges Performancegrab zu haben.
Zitat von
JamesTKirk:
(mit den entsprechenden DLLs sogar
Win9x).
Win9x hat keine UTF8
API Es hat eine handvoll funktionierten Wide-
API-Aufrufe für UCS2-Strings.
Zitat von
mkinzler:
UTF-8 ist sogar flexibler als UTF-16. Windows verwendet aber UTF-16. Der Vorteil ist dabei, dass jedes Zeichen wie bei
Ansi eine feste Breite hat (16Bit); bei UTF-8 ist diese zeichenabhängig
Das was du meinst war UCS2 und wurde von NT verwendet. UTF-16 ist genauso flexibel wie UTF-8 und hat den Nachteil der flexiblen längen (2-Byte für Zeichen der
BMP bzw. 4 Byte für sonstige Zeichen (z.B. Klinkonisch
)
Windows Vista - Eine neue Erfahrung in Fehlern.