Jump to content

Цитируется-для печати

Quoted-Printable , или QP-кодирование , представляет собой систему кодирования двоичного текста с использованием печатных символов ASCII ( буквенно-цифровых и знака равенства). =) для передачи 8-битных данных по 7-битному каналу данных или, как правило, по среде, которая не является 8-битной чистой . Исторически из-за широкого спектра систем и протоколов, которые можно было использовать для передачи сообщений, электронная почта часто считалась не 8-битной, однако современные SMTP- серверы в большинстве случаев являются 8-битными и поддерживают 8BITMIME расширение. Его также можно использовать с данными, которые содержат неразрешенные октеты или длину строки, превышающую ограничения SMTP. Он определяется как кодировка передачи контента MIME для использования в электронной почте .

QP работает с использованием знака равенства = как escape-символ . Он также ограничивает длину строки до 76, поскольку некоторые программы имеют ограничения на длину строки.

Введение [ править ]

MIME определяет механизмы отправки других видов информации по электронной почте, включая текст на языках, отличных от английского , с использованием кодировок символов , отличных от ASCII. Однако в этих кодировках часто используются значения байтов за пределами диапазона ASCII, поэтому их необходимо дополнительно закодировать, прежде чем они станут пригодными для использования в среде, отличной от 8-битной очистки. Кодирование Quoted-Printable — это один из методов, используемый для преобразования произвольных байтов в последовательности символов ASCII. Таким образом, Quoted-Printable — это не сама схема кодирования символов, а уровень кодирования данных, который будет использоваться при некоторой байт-ориентированной кодировке символов. Кодирование QP является обратимым, что означает, что исходные байты и, следовательно, символы, отличные от ASCII, которые они представляют, могут быть восстановлены идентичным образом.

Quoted-Printable и Base64 — это две кодировки передачи контента MIME, если не учитывать тривиальные «7-битные» и «8-битные» кодировки. Если кодируемый текст не содержит большого количества символов, отличных от ASCII, то Quoted-Printable дает достаточно читаемый текст. [1] и компактный закодированный результат. С другой стороны, если входные данные содержат много 8-битных символов, то Quoted-Printable становится нечитаемым и крайне неэффективным. Base64 не читается человеком, но имеет одинаковые издержки для всех данных и является более разумным выбором для двоичных форматов или текста в алфавите, отличном от латинского алфавита .

Кодировка для печати в кавычках [ править ]

Любое 8-битное байтовое значение может быть закодировано тремя символами: = за которыми следуют две шестнадцатеричные цифры (0–9 или A–F), представляющие числовое значение байта. Например, символ подачи формы ASCII (десятичное значение 12) может быть представлен как =0C, а знак равенства ASCII (десятичное значение 61) должен быть представлен как =3D. Все символы, кроме печатных символов ASCII или символов конца строки (но также =) должен быть закодирован таким образом.

Все печатные символы ASCII (десятичные значения от 33 до 126) могут быть представлены сами по себе, за исключением = (десятичное 61, шестнадцатеричное 3D, поэтому =3D).

пробела ASCII табуляции и Символы , десятичные значения 9 и 32, могут быть представлены сами по себе, за исключением случаев, когда эти символы появляются в конце закодированной строки. В этом случае их нужно будет экранировать как =09 (вкладка) или =20 (пробел) или после него следует = (мягкий разрыв строки) в качестве последнего символа закодированной строки. Это последнее решение допустимо, поскольку оно не позволяет табуляции или пробелу быть последним символом закодированной строки.

Если кодируемые данные содержат значимые разрывы строк, они должны быть закодированы как последовательность ASCII CR LF, а не как исходные значения байтов, ни напрямую, ни через = знаки. И наоборот, если значения байтов 13 и 10 имеют значение, отличное от конца строки (в типах мультимедиа, [2] например), то они должны быть закодированы как =0D и =0A соответственно.

Строки закодированных данных Quoted-Printable не должны быть длиннее 76 символов. Чтобы удовлетворить этому требованию без изменения закодированного текста, мягкие разрывы строк при желании можно добавить . Мягкий разрыв строки состоит из = в конце закодированной строки и не отображается как разрыв строки в декодированном тексте. Эти мягкие разрывы строк также позволяют кодировать текст без разрывов строк (или содержащий очень длинные строки) для среды, где размер строки ограничен, например ограничением в 1000 символов на строку в некоторых программах SMTP , как это разрешено RFC 2821.

В заголовках сообщений используется слегка модифицированная версия Quoted-Printable; см . MIME#Encoded-Word .

Пример [ править ]

Следующий пример представляет собой текст на французском языке (в кодировке UTF-8) с высокой частотой букв с диакритическими знаками (например, é ).

J'interdis aux marchands de vanter trop leurs marchandises. Car ils se font=
 vite p=C3=A9dagogues et t'enseignent comme but ce qui n'est par essence qu=
'un moyen, et te trompant ainsi sur la route =C3=A0 suivre les voil=C3=A0 b=
ient=C3=B4t qui te d=C3=A9gradent, car si leur musique est vulgaire ils te =
fabriquent pour te la vendre une =C3=A2me vulgaire.

   =E2=80=94=E2=80=89Antoine de Saint-Exup=C3=A9ry, Citadelle (1948)

Это кодирует следующую цитату:

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

См. также [ править ]

Примечания [ править ]

  1. ^ Это означает, что используется кодировка, совместимая с ASCII. Текст, закодированный в QP, например, в EBCDIC, конечно, не будет читаться.
  2. ^ Многоцелевые расширения почты Интернета (MIME), часть первая: формат тел интернет-сообщений. Ноябрь 1996 г. RFC 2045 # 6.7 Quoted-Printable Content-Transfer-Encoding , часть «(4) (Разрывы строк)». Проверено 18 марта 2013 г.

Внешние ссылки [ править ]

  • RFC   1521 (устаревший)
  • RFC   2045 (MIME)
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 415f4404fe986d1d6f89480074c75399__1696889340
URL1:https://arc.ask3.ru/arc/aa/41/99/415f4404fe986d1d6f89480074c75399.html
Заголовок, (Title) документа по адресу, URL1:
Quoted-printable - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)