[fpc-pascal] Weird string behavior

Santiago A. svaa at ciberpiula.net
Fri Jul 22 14:14:56 CEST 2016


El 22/07/2016 a las 12:55, Bart escribió:
> Just check the vaue of StringCodePage(Utf8StrA).

Not Initialized
  AnsiStrA: 1252
  ResultA: 1252

AnsiStrA:=' '
  AnsiStrA: 0

AnsiStrA[1]:=#243; // o acute win-1252
  AnsiStrA: 0

ResultA:=AnsiStrA
  ResultA: 0

ResultA := AnsiStrA + ' '
  ResultA: 1252

ResultA:=AnsiToUtf8(AnsiStrA);
  ResultA: 65001

ResultA:= AnsiToUtf8(AnsiStrA) + AnsiToUtf8(AnsiStrA);
  ResultA: 1252


I'm definitively completely lost

-------------------------------

program testconvertstr;

var
  AnsiStrA:string;
  ResultA:string;
begin
  writeln('Not Initialized');
  writeln('  AnsiStrA: ',stringcodepage(ansistra));
  writeln('  ResultA: ',stringcodepage(ResultA));

  Writeln;writeln('AnsiStrA:='' ''');
  AnsiStrA:=' ';
  writeln('  AnsiStrA: ',stringcodepage(ansistra));
  Writeln;writeln('AnsiStrA[1]:=#243; // o acute win-1252');
  AnsiStrA[1]:=#243; // o acute win-1252
  writeln('  AnsiStrA: ',stringcodepage(ansistra));

  Writeln;writeln('ResultA:=AnsiStrA');
  ResultA:=AnsiStrA;
  writeln('  ResultA: ',stringcodepage(ResultA));

  Writeln;writeln('ResultA := AnsiStrA + '' ''');
  ResultA:=AnsiStrA+' ';
  writeln('  ResultA: ',stringcodepage(ResultA));

  Writeln;Writeln('ResultA:=AnsiToUtf8(AnsiStrA);');
  ResultA:=AnsiToUtf8(AnsiStrA);
  writeln('  ResultA: ',stringcodepage(ResultA));

  Writeln;writeln('ResultA:= AnsiToUtf8(AnsiStrA) + AnsiToUtf8(AnsiStrA);');
  ResultA:=AnsiToUtf8(AnsiStrA)+AnsiToUtf8(AnsiStrA);
  writeln('  ResultA: ',stringcodepage(ResultA));
  Readln;
end.





-- 
Saludos

Santi
svaa at ciberpiula.net




More information about the fpc-pascal mailing list