theo hat geschrieben:Der UTF8String "tut" afaik gar nichts. Das ist nur ein AnsiString mit anderem Namen.Der "verhält" sich nicht. Deshalb muss man ihn auch duRch die UTF8... Funktîonen jagen.
Habe ich - wie gesagt - nichts gegen. utf8string ist wie am Namen leicht erkennbar ein neuer Typ (auch wenn es nur ein neuer Name für ANSIString bzw den "alten 8-Bit String ist). Er "verhält" sich also nach einer neu definierten Methode auch wenn das bedeutet, dass sich seine 8-bit-Elemente wie die Character in einem ANSI-String verhalten und über seine utf8-codierten Element (die ja 8, 16, 24 oder 32 bit groß sein können) weiter nichts ausgesagt ist.
theo hat geschrieben:Es ist vollkommen wurscht ob deine UTF8 Sequenzen in einem Ansistring oder einem UTF8String liegen.
Klar, habe ich - wie gesagt - ja auch nix gegen einzuwenden.
Gegen Widestrings (= "Strings" im neuen Lazarus) habe ich auch nichts einzuwenden. Wie sie funktionieren ('mal abgesehen von lazy copy, was mit der Codierung nichts zu tun hat) finde ich völlig in Ordnung und die Umstellung des "String" Typs geht auch in Ordnung, weil Widestrings sicherlich in den meisten Anwendungen besser geeignet sind als ANSIstrings. Ich werde vermutlich nie in die Verlegenheit komme, Zeichen verwenden zu wollen, die nicht im 16-Bit UCS2 Code enthalten sind.
Wo ich etwas gegen habe ist, die WideStrings als uft16 kodiert zu bezeichnen. Sie sie es wären, müsste die RTL das auch berücksichtigen und z.B. mit s[3] das dritte utf16 kodierte Zeichen finden, egal ob es ein 16-Bit kodiertes oder ein 32 Bit kodiertes Zeichen ist und egal ob die beiden Zeichen die vorher im Strings stehen mit 16 oder mit 32 Bit kodiert sind, und egal ob am Anfang des Strings ein Kenn-Code steht, der besagt, dass es eine utf16-Zeichenkette ist. Die Length des Strings müsste die Anzahl der utf16-kodierten Zeichen sein. Und ein Widechar müsste 32 Bit speichern, um ein beliebiges utf16 Zeichen aufnehmen zu können.
Wie gesagt, ich brauche das alles nicht und bin mit den ucs16 kodierten WideStrings und WideChars völlig zufrieden. Nur sollte man sie dann auch so nennen.
-Michael