Home > DetectCharset

DetectCharset

DetectCharset is a project mainly written in PERL and COMPONENT PASCAL, it's free.

Detect Russian Charset from text OR file

NAME

DetectCharset - auto detector for Russion text.

VERSION

$VERSION 0.7.1

SYNOPSIS

DetectCharset - auto detector for Russion text in UTF-8 CP1251 KOI8-R ISO-8859-5 CP866 encoding

    use DetectCharset;
    my $obj = new DetectCharset;
    # in $unknown_text we are have somthing in Russin 
    my $rez = $obj->detect_text($unknown_text);
    # more sophisticated with $files as full filepath
    my $rez2 = $obj->detect_file($files);

DESCRIPTION

Модуль призван обеспечить облегчение вычисления кодировки текста или файла

Используется следующим образом:

    use DetectCharset;
    my $obj = new DetectCharset;
    ...
    # in $unknown_text we are have somthing in Russin 
    my $rez = $obj->detect_text($unknown_text);
    ...
    # more sophisticated with $files as full filepath
    my $rez2 = $obj->detect_file($files);

При создании объекта возможно присваить 2 свойства min_file_size {def 2_000_000} - для настройки минимальной глубины прохода по файлу значение задается в B<баллах>, используейте более 2_000_000 в случае возникновения ошибок при распозновании или менее, если файл невелик. min_diff {def 1.5} - для настройки минимальной разницы в баллах между разными интерпретациями кодировок, используйте более 1.5 в случае нечеткого распознования или менее 1.5 в случае нулевого возврата $obj->set_multi( min_diff => 2.5, min_file_size => 4_000_000 );

Реализовано 2 метода: 1.) detect_text - для работы с текстами

    my $rez = $obj->detect_text($unknown_text);

Можно использовать в списковом контексте, в этом случае второе значение - набранные баллы. Реализовано в основном для использования в обработке файлов

2.) detect_file - для работы с файлами

    my $rez2 = $obj->detect_file($files);

Этот метод предпочтительнее при работе с файлами, т.к. теоретически не будет просматривать ВЕСЬ файл. Оба метода возвращают в скалярном значении имя кодировки из набора

    UTF-8 CP1251 KOI8-R ISO-8859-5 CP866

для дальнейшего использования с Encode::from_to() или иными целями или

-1 - в случае невозможности опознать кодировку - например нет русских слов в тексте

0 - в случае невозможности опознать кодировку, однако в тексте есть русские слова или что-то их напоминающее AUTOR

Meettya [email protected]

BUGS

SEE ALSO

Lingua::DetectCharset

COPYRIGHT

Moscow, snow 2009