[fpc-devel] cpstrrtl/unicode branch merged to trunk
Hans-Peter Diettrich
DrDiettrich1 at aol.com
Fri Sep 6 22:48:54 CEST 2013
Sven Barth schrieb:
> Am 06.09.2013 14:16 schrieb "Hans-Peter Diettrich" <DrDiettrich1 at aol.com
> <mailto:DrDiettrich1 at aol.com>>:
> > I'm not sure how efficient a RawByteString version ever can be. By
> default it has to convert the string into Unicode (Delphi: UTF-16), and
> the result back to CP_ACP. In these cases it looks more efficient to
> call the Unicode version immediately, and leave *eventual* further
> conversions to the compiler. Some routines may implement common
> processing of true SBCS, but I'm not sure how many these are.
>
> Not every RTL will use a 16-bit API. On Windows the RawByteString
> variant might be slower, but on Linux it will be faster as long as the
> string passed in will be encoded in the system encoding (mostly UTF-8).
Then CP_ACP on Linux will be UTF-8, and automatic conversion can use
UTF-8 instead of UTF-16.
I consider both UTF-8 and UTF-16 "Unicode", so that it's debatable
whether then also the UnicodeString type will become UTF-8, for even
less conversions. But when the user decides that he wants UTF-16
UnicodeStrings, for simplified handling of BMP text...
DoDi
More information about the fpc-devel
mailing list