Рис. 13.11. Exclude Symbols

Обращает на себя внимание интересная возможность автоматического определения кодировки документа. Делается это по довольно очевидному алгоритму. Вот пример. В русском языке есть союзы «и» и «в», но нет ни союзов «Ё» и 'ў' (символы кодовой страницы Windows-1251, имеющие такие же коды символов, как и символы «и» и «в» в кодовой странице Dos866), ни союзов «Й» и «Ч» (символы кодовой страницы Windows-1251, имеющие такие же коды символов, как и символы «и» и «в» в кодовой странице KOI-8). Поэтому ясно, что текст, открытый как имеющий кодировку Windows-1251, в котором встречаются одиноко стоящие символы «и» и «в», скорее всего, и принадлежит кодовой странице Windows-1251, если же в нем встречаются одиноко стоящие символы «Ё» и 'ў', то это, скорее всего, текст в кодировке MS-DOS, а если в этом тексте есть одинокие символы «Й» и «Ч», то, наверное, текст написан в кодировке KOI-8. На подобных принципах основан и способ автоматического определения кодировки документа в программе 'Exclude Symbols'. Поэтому можно, указав в качестве обьекта для перекодирования группу файлов, не особенно беспокоиться о кодировке каждого из них — достаточно просто указать ту кодировку, которую нужно получить на выходе, а в качестве исходной поставить значение «auto». Программа сама определит для каждого обрабатываемого файла его исходную кодовую страницу, решит, нужна ли ему конвертация в другую кодировку и при необходимости выполнит такую конвертацию.

Обращает на себя внимание оригинальный и удобный нестандартный интерфейс программы. Загрузить 'Exclude Symbols' можно с адреса http://perecod.chat.ru/exsym.rar.

'Штирлиц'

Программа «Штирлиц», помимо возможности чтения текстов в различных кодировках, в том числе и в Unicode, имеет очень важную и нужную функцию — функцию расшифровки неоднократно перекодированных почтовых сообщений.

Как уже писалось выше, электронное письмо, пройдя через несколько перекодирующих серверов, может стать совершенно нечитаемым. Для его расшифровки необходимо найти ту последовательность перекодировок, которым оно подверглось, и применить к письму обратное преобразование. Именно это делает «Штирлиц», созданный Всеволодом Лукьяниным. Если в него загрузить (например, перенеся с помощью буфера обмена или открыв сохраненный на диске текстовый файл) нечитаемый текст, полученный в качестве письма, то программа после вызова соответствующей функции начнет перебор возможных вариантов перекодирования, пытаясь найти ту последовательность перекодировок, которой подверглось письмо, и применить к нему обратные перекодировки. Пользователю показывается наилучший, по мнению программы, вариант раскодированного письма, — «Штирлиц» анализирует раскодированный текст и, если находит там общеупотребительные слова русского языка, то считает этот вариант раскодировки наилучшим.

Программа отличается большим набором режимов работы и функций. Так, можно подбирать схему перекодировок вручную (если есть для этого какие-нибудь предположения), задавать глубину анализа (то есть сколько раз подряд это письмо могло быть неправильно перекодировано), раскодировать текст, разные фрагменты которого имеют разную кодировку, читать тексты, написанные в Unicode-кодировке, читать тексты, написанные на Translit'е. Имеется подробное руководство пользователя и очень удобная функция деинсталляции, которая может служить примером написания таких программ. «Штирлиц» способна вытаскивать из текста письма фрагменты, закодированные в uuencode, base64 и других подобных системах передачи вложенных файлов, если почтовая программа получателя не распознала их. Для этого в «Штирлице» есть специальная функция. Кроме того, при наличии какого-либо текста в закодированном в uuencode, base64 или другом подобном формате фрагменте письма программа сможет его «вытащить» и показать пользователю.

В программе есть возможность пакетного перекодирования файлов в нужную кодировку, при этом исходная кодировка каждого файла определяется автоматически и в соответствии с ней выбирается нужный алгоритм перекодирования.

Вместе с тем программа «Штирлиц» не лишена и некоторых недостатков. Так, к сожалению, очень некорректно выполняется перекодировка в кодовую таблицу Dos866 и обратно. Несмотря на то, что при этом письмо остается в какой-то степени читаемым, выглядит оно очень непрезентабельно. Так что использование «Штирлица» в качестве программы для чтения файлов в разных кодировках может сопровождаться некоторыми затруднениями. Поэтому лучшее применение, несомненно, превосходного творения Всеволода Лукьянина — «спасение» неправильно перекодированных почтовых сообщений.

Загрузить «Штирлиц» можно с адреса http://perecod.chat.ru/shtirlz.rar.

'Декодер почты в неверной кодировке'

Эта программа Покровского А.В. - простое, но очень хорошо работающее средство для раскодирования писем, прошедших через несколько перекодирующих почтовых серверов. Она просто анализирует текст и преобразует его в читаемый вид. Несмотря на отсутствие сложных настроек и дополнительных возможностей, функцию свою «Декодер» (рис. 13.12) выполняет просто превосходно.

Рис. 13.12. Декодер почты в неверной кодировке

Для раскодирования текста надо просто вставить его в окно программы и нажать кнопку «Расшифровать». «Декодер» имеет просто превосходный интерфейс, который среди всех программ, описанный в этой главе, без сомнения, заслуживает наибольших похвал. Видно, что автор программы подумал об эргономике, удобстве пользователя, легкости и простоте работы. Это, к сожалению, редкая ситуация, и даже у лучших программ других авторов интерфейс и средства управления программой оставляют желать лучшего. Всем потенциальным авторам программ настоятельно рекомендуется ознакомиться с творением А.Покровского и, по возможности, последовать его примеру в области разработки пользовательского интерфейса. Без сомнения, эта маленькая, но мощная и очень удобная программа достойна того, чтобы занять почетное место на жестком диске каждого пользователя, работающего с электронной почтой и хотя бы изредка сталкивающегося с проблемой восстановления неправильно перекодированных почтовых сообщений.

Загрузить программу можно с сайта разработчика www.postman.ru/~a12/decoder.

TCode

Программа TСode Алекса Бойко (рис. 13.13) — пожалуй, самый мощный инструмент для восстановления многократно перекодированных файлов. Ей подвластна практически любая комбинация перекодирующих серверов. Кроме того, она умеет работать с системами конвертации вложенных файлов base64 и quoted-printable. TCode по своему действию похожа на предыдущую описанную программу, только позволяет проводить также и ручную перекодировку.

Рис. 13.13. TCode — ни одно письмо перед ней не устоит.

Кроме того, TCode позволяет проводить и обычную конвертацию текста из одной кодировки в другую, что иногда может пригодиться при подготовке web-страниц. Надо только в меню в окне программы отказаться от использования автоопределения кодировки.

При испытаниях TCode справилась даже с такой нетривиальной задачей, как раскодирование письма, пять раз неправильно перекодированного (для этого письмо сохранялось как KOI-8, а открывалось как Windows-1251 в виде мешанины символов, и опять сохранялось как ISO-8859-5, и так пять раз). На расшифровку такого письма размером в полкилобайта с помощью TCode ушло около 10 минут на Pentium-

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату