|
VinNest - Кодирование текстовых сообщений электронной почты
Кодирование сообщений электронной почты - это специальный прием, при котором текст сообщения
преобразуется так, чтобы он состоял только из латинских символов (7-битовые символы).
Такая методика была разработана в те времена, когда электронная почта позволяла посылать
только латинский текст. Ее внедрение открыло возможность посылать по электронной почте
нетекстовые сообщения (картинки, программы) и, в частности, русскоязычный (8-битовый) текст.
В настоящее время подобные жесткие ограничения встречаются лишь как исключения из правил, поэтому
старайтесь избегать кодирования текста сообщений. Применяйте этот
режим только в исключительных случаях, когда использование текстового режима
приводит к недоразумениям.
Когда необходимо использовать режим кодирования
текстовых сообщений
Применение метода кодирования текстовых сообщений может быть оправдано,
например, в следующих случаях:
- Допустим, Вы посылаете русскоязычный текст без кодирования
(называем это текстовым режимом),
а абонент получает письмо, набранное латинскими символами (при этом, если Вы следовали
стандарту KOI8-R, получатся русские слова, написанные латинскими буквами:
так специально подобрана эта кодировка).
Это будет означать, что письмо "по дороге" было преобразовано почтовым сервером SMTP,
работающим по старым стандартам и способным передавать только 7-битные символы.
Подобная ситуация сегодня редкая, но, в принципе, возможная, главным образом, при отправке почты
зарубеж, т.к. на территории бывшего Советского Союза такие серверы
не принято использовать.
- Может случиться, что при посылке сообщений в текстовом режиме происходят недоразумения с кодировкой, так что Вы
и Ваш абонент никак не можете понять друг друга. Ситуация может быть запутана тем, что
и Ваши почтовые программы, и почтовые серверы, доставляющие почту,
способны выполнять перекодировку текста.
Тогда стоит попробовать послать закодированный текст. В этом случае кодировка
Вашего текста "по дороге" меняться не будет, и Ваш абонент получит
текст таким, каким его видите Вы. Однако, применяя этот метод, будьте уверены, что:
- программа Вашего абонента умеет раскодировать текст
- Ваш абонент может прочитать текст в Вашей кодировке
(это естественно, если он работает в той же операционной системе, что и Вы).
Какой метод кодирования применять
При кодировании текста могут применяться следующие методы кодирования:
- метод UUENCODE
- по стандарту MIME
- метод Quoted Printable
- метод Base64.
Если Ваша почтовая программа поддерживает несколько методов кодирования,
то выбирая один из методов, Вы должны:
- в первую очередь учитывать удобство чтения сообщений Вашими адресатами
- по возможности стараться, чтобы в результате кодирования
размер сообщения увеличивался как можно меньше.
Метод UUENCODE является самым "старым", поэтому он часто используется
в программах с давней историей, в частности, для почты off-line (UUCP),
и, наоборот, в современных программах этот метод часто не поддерживается, но
может включаться для "совместимости" с другими программами.
Методы кодирования по стандарту MIME применяются
практически во всех современных программах для on-line почты (по протоколу POP).
Обратите внимание, что поддержка методов кодирования (UUENCODE/MIME)
никак не связана с типом используемой почты (например, UUCP/POP), а определяется
только возможностями почтовой программы. Но т.к. более "старому" сервису (UUCP) часто
служат более "старые" программы, то получается, что многие клиенты UUCP почты
могут понять в лучшем случае UUENCODE-кодирование, а абоненты почтового ящика POP,
наоборот, чаще работают с современным MIME-стандартом.
Таким образом, метод UUENCODE старайтесь использовать, если у Вашего абонента "старая" программа
(например, Bmail для Dos), а если у него современная программа под Windows
(например, Internet Mail, почтовый модуль в Netscape Navigator), то почти наверняка
подойдет кодирование по стандарту MIME.
Стандарт MIME определяет 2 метода кодирования - Quoted Printable и Base64.
Однако, часто программы поддерживают только один тип кодирования, обычно метод Quoted Printable,
поэтому Вы можете быть вынуждены использовать именно его.
C точки же зрения эффективности (минимального размера закодированного сообщения)
лучше применять:
- метод Quoted Printable, когда большая часть текста
набрана латинским шрифтом с небольшим "вкраплением" 8-битных символов
(буквы русского алфавита, в частности), т.к. в этом методе кодируются только
8-битные символы, но количество их увеличивается не меньше чем вдвое.
- метод Base64, когда большая часть текста состоит из 8-битных символов
(например, полностью русскоязычный текст), т.к. в этом методе кодируется весь текст
(включая латинский алфавит), но размер его увеличивается не более чем на треть.
Всегда применяйте прием кодирования текста с особой осторожностью:
если программа Вашего абонента не поддерживает тип используемого в Вашем сообщении
кодирования, то вместо текста он увидит бессвязный набор символов,
который он должен будет суметь раскодировать с помощью
дополнительных программных средств.
|