On 11.12.2015 15:20, "Jürgen Hestermann" wrote:
 >My link explains some differences important for Lazarus.
But it does not explain the difference between an "UTF8String" and an
"UTF8 String"
 >The encoding hassle is built into Windows. The compiler cannot overcome
 >it. It can only give you tools to make it easier.
That is not true.
Windows uses 2 kinds of strings: ANSI (one byte) and/or UTF16 (2 byte).
None of them can be used with UTF8 functions so a conversion is needed
anyway.

This is not entirely correct. Windows uses multi byte strings (one byte per character or more) and UTF-16 (which is mostly 2 Byte and 4 for surrogate pairs). The functions WideCharToMultiByte and MultiByteToWideChar which are also used inside FPC for string conversions both take a CodePage parameter that can also be CP_UTF8.

Regards,
Sven


--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to