[fpc-pascal] How to know the string type of a variable?
Mattias Gaertner
nc-gaertnma at netcologne.de
Mon Dec 30 20:17:58 CET 2013
On Mon, 30 Dec 2013 19:19:20 +0200
Juha Manninen <juha.manninen62 at gmail.com> wrote:
> On Mon, Dec 30, 2013 at 2:35 PM, Marcos Douglas <md at 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
More information about the fpc-pascal
mailing list