Am 2013-12-30 20:17, schrieb Mattias Gaertner: > 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
But as you wrote: It is a heuristic. It may fail. I am beginning to realize why software is so buggy nowadays if it has to be based on heuristics... _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal