On 7/22/16, Santiago A. <s...@ciberpiula.net> wrote: > // is Utf8StrA now utf8string? or something similar like Ansistring(UTF_8) > // is Utf8StrB now utf8string? or something similar like Ansistring(UTF_8)
Just check the vaue of StringCodePage(Utf8StrA). procedure DisplayBytes(S:RawByteString); var i:Integer; begin Write(' '); for i:=1 to length(s) do write(ord(s[i]),' '); writeln; end; var AnsiStrA: String; begin AnsiStrA:=' '; AnsiStrA[1]:=#243; // o acute win-1252 AnsiStrA := AnsiToUtf8(AnsiStrA); writeln('StringCodePage(AnsiStrA) now is: ',stringcodepage(ansistra)); Write('AnsiStrA: ');DisplayBytes(AnsiStrA); end. Gives: StringCodePage(AnsiStrA) now is: 65001 AnsiStrA: 195 179 Notice that your original problem was mainly due to the fact that DisplayBytes used a String parameter, which lead to automatically converting everything back to your Windows codepage. Bart _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal