Читаем Тайны и секреты компьютера полностью

Поэтому были разработаны специальные системы вложений двоичных файлов в почтовые сообщения, основанные на конвертации двоичных данных в набор символов с кодами от 33 до 127, могущий быть впоследствии подвергнутым обратному преобразованию в исходные двоичные данные. Систем такой конвертации было разработано несколько, самые употребительные из них — uuencode, base64, quoted-printable.

Почтовая программа, умеющая работать с вложениями, конвертировала перед отправкой письма вложенные файлы в одну из таких кодировочных систем, помещая перед вложением соответствующее указание на такую конвертацию, а при получении письма с вложениями просматривала текст письма и при нахождении вставки фрагмента, закодированного как, например, uuencode или base64 (что определялось по специальному указателю в тексте письма), превращала этот фрагмент в исходный двоичный файл. Сейчас все общеупотребительные почтовые программы умеют это делать.

Вот, к примеру, фрагмент письма с вложением, просматриваемый с помощью функции Microsoft Outlook Express "Свойства-Подробности-Исходное сообщение" (рис. 13.8).

Рис. 13.8. Фрагмент письма с вложением.

Все как на ладони. Указано, что приложено к письму — архив Zip с названием 999.zip, указан способ конвертации вложения — base64, а дальше идет набор символов первой половины кодовой таблицы, за который можно быть уверенным, что он пройдет через любые почтовые серверы неизмененным. Outlook Express при получении такого письма распознает наличие вставки base64, отобразит вложенный файл на панели вложений и позволит сохранить его на жесткий диск или прочитать, подвергнув обратному преобразованию из base64.

Если вложенный файл является текстовым (наиболее частый случай — HTML-вариант письма, который может быть составлен, к примеру, с помощью программы Outlook Express), то для него, помимо способа конвертации (обычно quoted-printable), указывается еще и кодировка исходного текстового файла для того, чтобы почтовая программа получателя, раскодировав его, могла его правильно отобразить (рис. 13.9).

Рис. 13.9. Указание на кодировку текстового вложения. В данном случае текстовое вложение еще подвергнуто преобразованию quoted-printable.

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

Решение проблем

В связи с наличием пяти различных кодовых страниц для русского языка возникает две проблемы:

1. Обеспечить возможность чтения текстов, написанных в соответствии с одной кодовой страницей, в операционных системах с другой кодовой страницей. Например, текстов MS-DOS в Windows9x.

2. Получить возможность расшифровывать неоднократно перекодированные электронные письма.

Для решения этих проблем есть много способов, реализуемых с помощью специальных программ или компонентов программных пакетов. Ниже будет рассказано о некоторых из них.

Microsoft Word 97

Да-да, не удивляйтесь — как ни странно, в этом редакторе есть средство открытия файлов в другой кодировке! Правда, поддерживается только возможность открытия и сохранения файлов в кодировке MS-DOS, но и это немаловажно — именно в этой кодировке распространяется большинство книг в "электронных библиотеках", огромное количество документов подготовлено в редакторах под MS-DOS и сохранено в текстовом формате в кодировке MS-DOS. Как же использовать это средство?

Для начала в меню Сервис-Параметры-Общие надо поставить флажок в графе "Подтверждать преобразование при открытии". После этого при открытии с помощью диалогового окна «Открыть» любых файлов с расширением, отличным от".doc", будет выдаваться диалоговое окно (см. слева), где можно будет выбрать нужный формат файла из предложенного списка.

Если вы открываете таким образом текст, представленный в кодировке MS-DOS, то лучше всего выбрать пункт "Текст DOS". Тогда при открытии файла его текст будет просто отображен на экране. Если файл, открытый таким образом, отредактировать и сохранить, то его формат сохранится, — он по-прежнему останется написанным в кодировке MS-DOS. Чтобы сохранить его в Windows-1251, надо воспользоваться пунктом меню "Файл-Сохранить как…" и указать там "Только текст" для сохранения в текстовом файле или другой формат для сохранения в нем.

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

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