[fpc-devel] Trying to understand the wiki-Page "FPC Unicode support"
Mattias Gaertner
nc-gaertnma at netcologne.de
Wed Nov 26 12:10:00 CET 2014
On Wed, 26 Nov 2014 11:23:17 +0100
Michael Schnell <mschnell at lumino.de> wrote:
>[...]
> 2) I fail to understand how with this explanation that seems to force
> auto conversion for assignments between types with different "code page"
> settings (also for CP_ACP) the "static code page can differ from the
> dynamic code page" can happen.
For example:
CP_ACP=0, DefaultSystemCodePage=1252
That means static code page is always 0, while dynamic code page can be
0 or 1252. Both describe the same encoding.
RawByteString has static cp CP_NONE=$FFFF, but its dynamic cp is always
different, for example CP_ACP=0, 1252 or CP_UTF8.
> In fact this disaster seems to be able to happen (see section
> "RawByteString") if assigning a string with a static code page X1 to a
> RawByteString (hence no conversion) and then assigning that
> RawByteString to a string with a static code page X2 (no conversion
> again). In fact I assume that without abusing RawByteString such
> "intersexual" strings can't be produced, otherwise this would be rather
> disastrous for normal users.
You can use SetCodePage as well. ;)
> In section "RawByteString":
>
> "the results of conversions from/to the CP_NONE code page are undefined."
... because CP_NONE is not a real code page.
Mattias
More information about the fpc-devel
mailing list