[fpc-pascal] The world is ending

Michael Van Canneyt michael at freepascal.org
Wed May 11 11:08:49 CEST 2016



On Tue, 10 May 2016, Michael Schnell wrote:

> On 05/09/2016 09:34 PM, Jonas Maebe wrote:
>> While still missing in the documentation, you can already do that with 
>> {$modeswitch unicodestrings}.
>
> If this avoids the issues, Graeme found, why is this not enabled as default, 
> as well in the user code as in the RTL interface ?

Several reasons:

1. Backwards compatibility. 
2. We'd need to check all code. Much of the code assumes char = 1 byte.
    That includes all other code besides RTL: Database code, web code etc.
3. It increases memory use.
    All of a sudden, all your programs will use lots more memory.
    Maybe not important on a server, but it is e.g. in embedded.
4. For Delphi, the choice was clear: Windows is using UTF16, so all APIs are
    better off using UT16. Under unix-like OSes, UTF8 is a better choice
    IMHO.

There is no simple answer...

Michael.



More information about the fpc-pascal mailing list