mschnell hat geschrieben:Nicht nur "nicht elegant", sondern vermutlich auch falsch.
Wie "rattert" man in einem UTF8-String die Buchstaben durch ?
Kann in UTF8 $30 ... $39 nie als zweites Byte eines Codes auftreten ?
-Michael
1. Elegant eher weniger, aber richtig. Text ist nämlich ein Keyword von Pascal für Textdateien. Außerdem ist das hinzufügen von immer einem Buchstaben sehr ineffizient. Besser wäre Anfang und Ende suchen und dann mit Copy() kopieren.
2. Irgendwo in der RTL/FCL/LCL gibt es soweit ich weiß auch Funktionen dazu. Irgendwo in der Nähe des Typs TUTF8Char (oder so ähnlich).
3. Geraten: Nein. Die ersten 7 Bit sind in UTF8 genau wie ASCII kodiert. Da liegen alle lateinischen Buchstaben und arabischen Zahlen drinnen. Ansonsten sagen die Bits ganz Links aus, welcher Teil eines Zeichens sie sind (d.h. 0 = nur ein Byte; 1 = erstes Zeichen, erstes Byte...).
pluto hat geschrieben:Die Variable Text sollte von Typ UTF8String oder WideString sein. dann sollte es gehen.
UTF8String ist auch nichts anderes als ein AnsiString und enthält auch immer die Quelltextkodierung. WideString ist UCS2 und damit eine ganz andere Kodierung.