16.13.4 Кодирование содержания

RFC 822 определил исходной формат для текстовых сообщений Интернета. Содержание почтового сообщения состоит из последовательности строк, завершающихся <CR><LF>. Максимальная длина каждой строки (включая <CR><LF>) определена в 1000 символов.

Как должны кодироваться для пересылки различные типы содержания сообщений MIME? Методы кодирования определены отдельно для каждого типа. Например, для SMTP можно использовать:

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

■ Эффективный способ кодирования, когда получатель поддерживает такой способ.

Методы кодирования представлены в таблице 16.3. Если используется не обычный метод NVT USASCII, а другой, то он должен быть явным образом определен в заголовке Content-Transfer-Encoding. Например:

Content-Transfer-Encoding: base64

Content-Transfer-Encoding: Quoted-printable

Таблица 16.3 Методы копирования

Метод Описание
7bit Обычные строки текста NVT USASCII.
quoted-printable Содержимое по большей части представляет собой обычный текст ASCII, но дополнительно имеется несколько особых символов. Каждый такой символ представлен специальной последовательностью обычных текстовых символов.
base64 Все содержание отображается к виду, представленному обычными символами.
8bit Сообщение организовано как последовательность строк, заканчивающихся на <CR><LF> и имеющих длину не более 1000 символов. Однако могут быть включены 8- разрядные коды.
binary Правильное представление двоичных данных.
x-token-name Любой экспериментальный метод кодирования должен иметь название, начинающееся с 'х'.

16.13.5 Метод кодирования указанными печатными символами

Метод кодирования указанными печатными символами (quoted-printable encoding method) используется для сообщений, содержащих только небольшое число символов, не принадлежащих основному множеству ASCII. Эти символы отображаются в специальные последовательности, в то время как большая часть сообщения остается в своей естественной форме. Кодирование выполняется как:

= шестнадцатеричный код для символа

Например, символ перевода формата (X'0C) будет закодирован как =0C.

16.13.6 Метод кодирования Base64

Метод кодирования Base64 преобразует любой тип данных к большему в 3 раза количеству текстовых символов. Данные разделяются на части по три 8-разрядных, байта. Например:

10001000 00110011 11110001

Для преобразования эта последовательность сначала разделяется на четыре 6-разрядные группы:

100010 000011 001111 110001

Каждая группа интерпретируется как число:

34 3 15 49

Полученные числа заменяются соответствующими символами из таблицы 16.4.

Таблица 16.4 Кодирование Base64

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

0

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

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