[fpc-pascal] Weird string behavior

Jonas Maebe jonas.maebe at elis.ugent.be
Sat Jul 23 12:13:18 CEST 2016


On 23/07/16 08:11, Mattias Gaertner wrote:
> Here is a result of Delphi 10.1:

Thank you (also Petr). Maybe one more, to know what happens if you mix 
rawbytestring and ansistring in the concatenation:

program DTestConcatenate;

{$APPTYPE CONSOLE}

{$R *.res}

uses
   System.SysUtils;

var
   s1,s2,s3: AnsiString;
   r1,r2,r3: RawByteString;
begin
   s1:='A';   // 1252
   s2:='AƤ';  // 1252
   writeln('s1="',s1,'" cp=',StringCodePage(s1));
   writeln('s2="',s1,'" cp=',StringCodePage(s2));
   r1:=AnsiToUTF8(s1); // 65001
   r2:=AnsiToUTF8(s2); // 65001
   writeln('r1="',r1,'" cp=',StringCodePage(r1));
   writeln('r2="',r2,'" cp=',StringCodePage(r2));

   r3:=s1+r2; // ??
   writeln('r3="',r3,'" cp=',StringCodePage(r3));
   r3:=r1+s2; // ??
   writeln('r3="',r3,'" cp=',StringCodePage(r3));


   s3:=s1+r2; // ??
   writeln('r3="',r3,'" cp=',StringCodePage(r3));
   s3:=r1+s2; // ??
   writeln('r3="',r3,'" cp=',StringCodePage(r3));
end.


Jonas



More information about the fpc-pascal mailing list