On Mon, 30 Dec 2013 19:19:20 +0200
Juha Manninen <juha.mannine...@gmail.com> wrote:

> On Mon, Dec 30, 2013 at 2:35 PM, Marcos Douglas <m...@delfire.net> wrote:
> > Is possible to know what string type of a variable (AnsiString,
> > UTF8String, RawByteString, etc)?
> 
> When UTF-8 encoded string is stored in AnsiString (as in LCL), this
> test should tell you if it actually is UTF-8 string:
>   if Length(s) <> UTF8Length(s) then
>   begin
>     // UTF-8
>   end;

This is wrong.
There is no test for UTF-8 versus 8-bit windows codepage.
A good heuristic is this: 

if FindInvalidUTF8Character(PChar(Pointer(s)),length(s))<0 then
  // UTF-8


Mattias
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to