Zitat von Florian Klaempfl <[EMAIL PROTECTED]>: > Michael Van Canneyt wrote: > > > > On Tue, 1 Jul 2008, Paul Ishenin wrote: > > > >> Michael Van Canneyt wrote: > >>> You can still do C:=S[i]. What you cannot do is > >>> > >>> P:=PChar(S); > >>> While (P^<>#0) do > >>> SomeByteSizedOperation; > >>> > >> Why you cannot? PChar(S) should represent S as raw bytes. If you know what > you > >> are doing - it will not harm. In other case, if you corrupt the string > then > >> you are responsibile for all problems you get. > > > > Obviously you can :-) > > But what I meant was that you shouldn't expect old code > > that relied on 1-byte characters to work. > > It is supposed to break on utf-xx or whatever anyways.
The above works normally for UTF-8. UTF-8 was designed for this. That's why most ansistring code works with UTF-8. Switching to UTF-8 was easy. Switching to UTF-16 needs more work. And a multi encoded string will break even more things. Means: more work. The question is: how much more? Mattias _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal