[fpc-devel] Performance of string handling in trunk

Michael Schnell mschnell at lumino.de
Tue Jun 25 10:42:28 CEST 2013


On 06/25/2013 01:05 AM, Hans-Peter Diettrich wrote:
>
>
> A RawByteString can obtain any encoding, so no conversions are required.
> But when assigned back to an UnicodeString, the obtained encoding is 
> used to convert the string.
>
That sounds good. The name "RAW" just misled me to think it would not 
hold a character encoding.

If this in fact is a completely dynamically  encoded string type, things 
like TStringList should use same in their interface, thus preventing all 
conversions, when a string of any encoding type is stored there and 
retrieved to a variable of the appropriate dedicated encoding type 
(while being auto-converted if retrieved to variable forcing a different 
encoding).

Only the documentation 
http://docwiki.embarcadero.com/Libraries/XE4/en/System.RawByteString 
shows that they seemingly are not convinced that all this decently works 
:-( .

So a decent system should _additionally_ provide completely unencoded 8, 
16, 32 and 64 Bit entity Strings for "technical" usage (similar to pipes 
etc) (now not using the "RAW" naming :-) .

-Michael



More information about the fpc-devel mailing list