Michael Schnell wrote:
On 04/16/2016 11:02 AM, Mattias Gaertner wrote:
For instance using {$codepage utf8} tells the compiler to convert all
your literals to UTF-16. Without the {$codepage} the compiler
preserves the real codepage.
I.e. (compiling in a UTF-8 based Linux)

- using {$codepage utf8} tells the compiler to convert all your literals
to UTF-16

That's a, wrongly described, implementation detail. When any {$codepage xxx} directive is specified, string constants in the source are represented in a way that makes lossless conversion to any other code page possible. This conversion to the target code page is performed at compile time where possible (when the target code page cannot change at run time), and otherwise at run time.

What this internal lossless representation is at compile time and/or run time is undefined.

- not using {$codepage utf8} tells the compiler to convert all your
literals to UTF-8

No, it does not. Please tell me which sentence of http://wiki.freepascal.org/FPC_Unicode_support#String_constants suggests that in any way.


Jonas
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to