Michael Schnell schrieb:
On 10/12/2011 10:35 AM, Sven Barth wrote:
No. In Delphi "String = UnicodeString", but AnsiString still exists as
a one-byte (or multi-byte) string type (the "new string type" or "code
page aware string type").
Sorry, but I don't understand.
According to the "TAnsiRec", such a "New String" not only has an
encoding ID, but also an "ElementSize" specification.
So an "ANSIString" that uses the TAnsiRec for it's implementation
obviously is capable of holding of 1, 2 and 4 byte encoded data.
Ansi and Unicode strings share the same header structure. This would
allow, in theory, to use only one (polymorphic) string type everywhere.
In fact this common structure only allows to find out about the
properties of an given string, it does not imply any assignment
compatibility.
All AnsiString types have an element size of 1, UnicodeString has 2 and
UCS4String has 4 bytes per element.
DoDi
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel