On 12/24/2015 07:44 AM, Lubos Pintes wrote:
Hello,
Here is a minimal program, it doesn't work as I expected either because there is
a bug somewhere in the RTL, or, more probably, I misunderstood something.
Basically, I am reading an UTF-8 encoded text from stdin, and collecting it in a
WideChar array. I am assigning UTF-8 string to a WideString, and then collecting
chars from it into the mentioned array.
Then I am using a SetString procedure to recreate the WideString from collected
chars.
Here is a simple program which demonstrates this:
program a;
{$mode delphi}
uses SysUtils;
var
U: UTF8String;
S, W: WideString;
begin
U := 'Hello';
W := U;
SetString(S, @W[1], Length(W));
W := Format(WideString('%s'), [S]);
Writeln(W);
end.
Free Pascal Compiler version 3.1.1 [2015/06/13] for x86_64
Copyright (c) 1993-2015 by Florian Klaempfl and others
(1002) Target OS: Linux for x86-64
(3104) Compiling /home/myuser/tmp/project1.lpr
/home/myuser/tmp/project1.lpr(12,8) Warning: (4104) Implicit string type
conversion from "UTF8String" to "WideString"
/home/myuser/tmp/project1.lpr(14,8) Warning: (4104) Implicit string type
conversion from "AnsiString" to "WideString"
~/tmp/project1
Hel
--
NOTE: No off-list assistance is given without prior approval.
*Please keep mailing list traffic on the list* unless
private contact is specifically requested and granted.
_______________________________________________
fpc-pascal maillist - [email protected]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal