[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