[fpc-pascal] Unicode strings

Marco van de Voort marcov at stack.nl
Fri Dec 31 21:50:26 CET 2010

In our previous episode, Juha Manninen said:
> What I have understood so far:
> WideString uses UTF16 encoding. It is managed by Windows and so is not
> reference counted by Delphi or FPC under Windows. However it is reference
> counted by FPC on other platforms.
> Then FPC has UnicodeString which is identical with WideString except that it
> is always reference counted.
> Delphi since v.2009 has UnicodeString as default. It also uses UTF16
> encoding.


> Now there is a new branch for Delphi compatible unicode strings in FPC.
> What is the difference between the current FPC's UnicodeString and Delphi's
> UnicodeString? I am confused with all these string types and encodings.

Afaik none, except in Delphi it is default. In FPC it is a beta feature,
waiting for the codepage ansistring (which is being worked (*) in the branch that you
name), before the (very massive!) rtl changes, and the option for
unicodestring to be the default type become reality.

The actual form of the RTL changes and default types has not even been
decided. There are various opinions, but no decision has been taken.
> What do you people say about Open XML: http://www.philo.de/xml/

Never used it. I use FPC's XML routines, even with Delphi.

More information about the fpc-pascal mailing list