Am 05.01.2012 14:30, schrieb Sven Barth:
Am 05.01.2012 12:32, schrieb Marco van de Voort:
In our previous episode, Michael Schnell said:
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 ?

Yes. Afaik that is not a sane combination, but Delphi compatible.


AFAIK (I'd need to start Delphi for this) AnsiString(CP_UTF16) is not
allowed in Delphi.

Ok... one can use the UTF16 code page, but Delphi does NOT define CP_UTF16 (I needed to use 1200, which is the code page ID used by Microsoft).

And the following code:

type
  TestString = type AnsiString(1200);

var
  s: TestString;
begin
  s := #$3428#$3828;
  Writeln(Length(s));
  Readln;
end;

Writes "0" while the same code with AnsiString(CP_UTF8) writes "6".

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

Reply via email to