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
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to