Sven Barth schrieb:
Am 06.09.2013 14:16 schrieb "Hans-Peter Diettrich" <[email protected] <mailto:[email protected]>>: > 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

_______________________________________________
fpc-devel maillist  -  [email protected]
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to