Протоколы Internet


Многоцелевое расширение почты Интернет (MIME) - часть 16


(4)

Управляющие символы, отличные от TAB, CR и LF (в качестве части CRLF) не должны присутствовать. То же справедливо для октетов с десятичными значениями больше чем 126. Если такие коды обнаруживаются в приходящих закавыченных последовательностях печатных символов, корректная реализация может исключить из декодированных данных и предупредить пользователя о том, что обнаружен нелегальный символ.

(5)

Закодированные строки не должны быть длиннее 76 символов, не считая завершающие CRLF. Если во входном потоке обнаружены более длинные строки, надежная реализация может их декодировать, но должна предупредить пользователя об ошибке.

Если двоичные данные закодированы в виде закавыченных последовательностей печатных символов, следует позаботиться о том, чтобы символы CR и LF были представлены в виде "=0D" и "=0A", соответственно. В частности, последовательность CRLF в двоичных данных должна кодироваться как "=0D=0A". В противном случае, если CRLF была бы представлена как “жесткий” разрыв строки, она может декодироваться некорректно на платформах с различными способами обработки разрывов строки. С формальной точки зрения, закавыченные последовательности печатных символов подчиняются следующей грамматике.

quoted-printable

:=

qp-line *(CRLF qp-line)

 

qp-line

:=

*(qp-segment transport-padding CRLF) qp-part transport-padding

 

qp-part

:=

qp-section

; Максимальна длина 76 символов

qp-segment

:=

qp-section *(SPACE / TAB) "="

; Максимальна длина 76 символов

qp-section

:=

[*(ptext / SPACE / TAB) ptext]

 

ptext

:=

hex-octet / safe-char

 

safe-char

:=

; Символы, не включенные в список "mail-safe" RFC 2049, не рекомендуются к применению.

hex-octet

:=

"=" 2(DIGIT / "A" / "B" / "C" / "D" / "E" / "F")

; Октет должен использоваться для символов с кодами > 127, =, SP или TAB в конце строк, и рекомендуются для любого символа не указанного в списке "mail-safe" документа RFC 2049.

transport-padding

:=

*LWSP-char

; Составители не должны генерировать заполнители ненулевой длины, но получатели должны быть способны обрабатывать заполнители, добавленные при транспортировке.

<


Начало  Назад  Вперед