With Lazarus on Linux, I did some simple tests with UTF strings.

I found that the length of an "AnsiString(CP_UTF16)" is given in terms of bytes and not of Words. Is this like it should ?


I found that pchar(s8) with an UTF-8 string works as expected, giving a pointer to the UTF-8 encoded byte array. Anyway: is it obvious, that the encoding of pchar is UTF-8 ? Is this portable ?


p16 = pchar(s16) with an UTF-16 gives a pointer to the first byte of the word array, so (with ASCII text), the second byte is zero, thus a C-String length 1. Is this like it should ? Of course re-assigning p16 to an UTF-16 string does not reproduce the original string.

What encoding is to be supposed for a pchar ?



The Debugger does not show UTF-16-Strings correctly (it shows the same result as pchar() ). Is this just a Lazarus problem, or does FPC need to provide additional support for this ?

-Michael
_______________________________________________
fpc-devel maillist  -  [email protected]
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to