[fpc-pascal] Weird string behavior
Petr Kohut
mail at petr-kohut.cz
Sat Jul 23 13:31:12 CEST 2016
Hello,
here are results:
...
begin
Writeln('--------------');
Writeln;
s1 := 'A'; // 1250
s2 := 'Aä'; // 1250
Writeln('s1 = "', s1, '" cp = ', StringCodePage(s1));
Writeln('s2 = "', s2, '" 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; // 1250
Writeln('r3 = "', r3, '" cp = ', StringCodePage(r3));
r3 := r1 + s2; // 65001
Writeln('r3 = "', r3, '" cp = ', StringCodePage(r3));
s3 := s1 + r2; // 1250
Writeln('s3 = "', s3, '" cp = ', StringCodePage(s3));
s3 := r1 + s2; // 65001
Writeln('s3 = "', s3, '" cp = ', StringCodePage(s3));
SetCodePage(RawByteString(s1), 65001, True);
r3 := s1 + r2; // 65001
Writeln('r3="', r3, '" cp=', StringCodePage(r3));
r3 := r1 + s2; // 65001
Writeln('r3="', r3, '" cp=', StringCodePage(r3));
s3 := s1 + r2; // 65001
Writeln('s3="', s3, '" cp=', StringCodePage(s3));
s3 := r1 + s2; // 65001
Writeln('s3="', s3, '" cp=', StringCodePage(s3));
Readln;
end.
(*
--------------
s1 = "A" cp = 1250
s2 = "Aä" cp = 1250
r1 = "A" cp = 65001
r2 = "Aä" cp = 65001
r3 = "AAä" cp = 1250
r3 = "AA?" cp = 65001
s3 = "AAä" cp = 1250
s3 = "AA?" cp = 65001
r3="AAä" cp=65001
r3="AA?" cp=65001
s3="AAä" cp=65001
s3="AA?" cp=65001
*)
------ Původní zpráva ------
Od: "Jonas Maebe" <jonas.maebe at elis.ugent.be>
Komu: "FPC-Pascal users discussions" <fpc-pascal at lists.freepascal.org>
Odesláno: 23.07.2016 13:03:33
Předmět: Re: [fpc-pascal] Weird string behavior
>On 23/07/16 12:58, wkitty42 at windstream.net wrote:
>> On 07/23/2016 06:13 AM, Jonas Maebe wrote:
>> [...]
>>> 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));
>>
>> writeln('s2="',s2,'" cp=',StringCodePage(s2));
>>
>>
>> you're not the only one to have missed that...
>
>The only thing that matters for this test is the stringcodepage value,
>which is the correct one.
>
>
>Jonas
>_______________________________________________
>fpc-pascal maillist - fpc-pascal at lists.freepascal.org
>http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
More information about the fpc-pascal
mailing list