On Fri, 12 Feb 2016 16:41:23 +0100 Michael Schnell <[email protected]> wrote:
> On 02/12/2016 03:54 PM, Juha Manninen wrote: > > Sure there is hope. See the new UTF-8 support: > > http://wiki.freepascal.org/Better_Unicode_Support_in_Lazarus > > > This page says: > > "This page covers Unicode support in Lazarus programs (console or > server, no GUI) and applications (GUI with LCL) using features of FPC > 3.0+. " > "RTL with default codepage UTF-8" > > That would mean that the type "String" is 8 Bit ? Yes, 8bit per Char. > That would mean that 8 bit Strings are used in TStrings and hence in > TStringList ? Yes. > That would mean that (e.g.) storing 8 bit "String"s in a TStringList > would not do any conversion at all ? Yes. > And it would mean that pos() and friends work on 8 bit Strings (and wist > simple byte-positions and length) ? Yes. > If string constants and strings coming from and going to the GUI are > implicitly converted, I suppose this is manageable. Without UTF-8 mode you are responsible to convert the LCL UTF-8 strings to whatever needed (probably system code page, UTF8ToSyS). With UTF-8 mode all strings are by default UTF-8 and implicitely converted when using functions like FileExists or TStrings.LoadFromFile. If you want to work in system code page you have to convert back and forth between RTL+LCL and your code. When converting a Delphi 7 application it depends on what charset(s) the application supports to decide which mode is easier/better. Just saying "uncoded strings in TCP/IP" is not enough information. That can be done in both modes. > Is all this is here to stay, I think my friend could use Lazarus and fpc > for his task. Mattias -- _______________________________________________ Lazarus mailing list [email protected] http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
