[fpc-devel] Trying to understand the wiki-Page "FPC Unicode support"
Sven Barth
pascaldragon at googlemail.com
Thu Nov 27 07:53:42 CET 2014
On 26.11.2014 19:54, Hans-Peter Diettrich wrote:
> UTF-16 is not a valid value for CP_ACP in Delphi, because it's a 2-byte
> encoding. Even if the Delphi architects may have thought about an common
> string type, with a variable element size (1,2,4), this certainly turned
> out soon as a stupid idea, so that AnsiString and
> WideString/UnicodeString still are strictly distinct types. WideString
> and UnicodeString imply UTF-16, with platform specific byte order
> (endianness). The latter becomes important almost only to compiler and
> library coders, in host/network byteorder conversions. For the sake of
> completeness, pdp-11 processors use yet another byte order, maybe more
> word-based processors (DG...) as well.
Just a little remark: please don't throw in WideString, which is a
completely different type and only there for easy compatibility with COM
and other Windows APIs. Unlike UnicodeString this type is not reference
counted for example nor does it have the code page and element size
information that a Ansi-/UnicodeString has.
(In FPC WideString is the same as UnicodeString for all non-Windows
platforms)
Regards,
Sven
More information about the fpc-devel
mailing list