[fpc-devel] simple UTF tests
Michael Schnell
mschnell at lumino.de
Fri Jan 6 11:07:59 CET 2012
On 01/05/2012 12:32 PM, Marco van de Voort wrote:
> In our previous episode, Michael Schnell said:
>> 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.
This really is absolutely insane, as in Delphi (I only have "Turbo"),
the length of a WideString is given in terms of word and not of bytes.
So why introducing major differences in the handling of 16 bit encoded
Strings such as
- AnsiString(CP_UTF16) (provided CP_UTF16 is previously defined to be
1200)
- WideString
- UnicodeString (I can't test this)
?
I feel that much of the Delphi way of handling the "new string"s is
hazardous and not worth mimicking and better ways can be found - there
have been long discussions on this - (while of course for compatibility,
it is important to provide the Delphi-way behavior forced by a compiler
option).
-Michael
(BTW.: I still don't know whether Delphi even introduces the insanity
that when assigning, the auto-conversion is decided regarding the actual
internal dynamical encoding of the target or if the target's statically
given Type name is always used.)
More information about the fpc-devel
mailing list