Да там вообще бомба!!!
{ Detect valid UTF8 sequence. }
type
TEncodeType = (etUSASCII, etUTF8, etANSI);
function DetectUTF8Encoding(const s : UTF8String): TEncodeType;
{ if string contain real UTF8 character, return true. }
function IsUTF8String(const s : UTF8String): Boolean;
{ if string contain extended character (non-ascii char), return true;
if this function return true, It is better to add BOM head of file stream. }
function HasExtendCharacter(const s : UTF8String): Boolean;
{ If Stream/String has UTF8 BOM at the begin of stream, return TRUE.
Stream's position doesn't change. }
function HasUTF8BOM(S : TStream) : boolean; overload;
function HasUTF8BOM(S : AnsiString) : boolean; overload;
" Пасип большое!!!!
хотя в справке делфей чет не увидел так же как и в инете.