[fpc-devel] new string - question on usage
    Hans-Peter Diettrich 
    DrDiettrich1 at aol.com
       
    Wed Oct 12 13:53:57 CEST 2011
    
    
  
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
    
    
More information about the fpc-devel
mailing list