[fpc-devel] String handling in trunk (was utf8 in 2.6.0)
Hans-Peter Diettrich
DrDiettrich1 at aol.com
Sat Jan 5 16:16:49 CET 2013
Michael Van Canneyt schrieb:
>
>
> On Sat, 5 Jan 2013, Jonas Maebe wrote:
>
>>
>> On 05 Jan 2013, at 12:53, Paul Ishenin wrote:
>>
>>> ResourceStrings are stored as AnsiString type with 0 codepage (as I
>>> remember). Delphi now stores ResourceStrings as UnicodeString type. I
>>> think FPC will follow this in m_default_unicodestring modeswitch.
>>
>> It would probably even be better to always do that. At least I don't
>> see a
>> downside, other than slightly larger binaries (and that's not an issue in
>> this case as far as I'm concerned; maintaining two separate
>> resourcestring
>> systems/handlers is just not worth the trouble).
>
> But it means that for
>
> Resourcestring
> AString = 'Something';
>
> Var
> S : Ansistring;
>
> begin
> S:=AString;
> end.
>
> Always a conversion will happen.
>
> I do not think this is a good idea given that currently, String =
> Ansistring.
IMO resource strings are for display purposes, so that UTF-8/16 encoding
is expected by an OS API. AFAIR Win32 string resources are stored in
UTF-16, so that assignments to an AnsiString already require a
conversion. So IMO UTF-8 would be better, for now and in future.
DoDi
More information about the fpc-devel
mailing list