Читаем Интернет-журнал "Домашняя лаборатория", 2007 №3 полностью

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

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

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

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

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


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


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



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


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

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


TCode


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



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


Перейти на страницу:

Похожие книги