chunking — почему PHP chunk_split () по умолчанию имеет длину чанка 76?

Может кто-нибудь объяснить, почему 76 символов по умолчанию, и почему это может быть полезно на практике?

1

Решение

Поскольку семантика RFC 2045 указывает, что кодированные строки не должны быть длиннее 76 символов, не считая завершающего CRLF.

Приложение:
[Предупреждение: очень педантичная презентация следует]

Существует несколько различных механизмов «Content-Transfer-Encoding», и два основных метода (для данного обсуждения) — «quoted-printable» и «Base64».

Цитируется-печати Кодировка предназначена для представления данных, которые соответствуют печатным символам в наборе символов US-ASCII. Кодирование Base64 Content-Transfer-Encoding разработано для представления произвольных последовательностей данных в форме, которая не должна быть удобочитаемой для человека. Оба кодирования преобразуют свои входные данные из произвольной области в материал, безопасный для переноса ограниченный транспорт.

«Ограниченный транспорт» означает транспорт, который может обрабатывать только 7-битные данные, то есть акустические модемы и аналоговые линии. Другими словами, это разработано, чтобы быть надежным в действительно дрянных условиях.

Так как Цитируется-печати как правило, ожидается, что он будет ориентирован на строки, и поскольку RFC 2045 датируется 1996 годом, представляется разумным предположить, что авторы спецификации ожидали, что текст будет виден на ЭЛТ с 80 столбцами или напечатан на матричном принтере или TTY. Если это так, то по умолчанию в 76 символов будет стремиться учесть наименьший общий знаменатель из доступной технологии отображения.

Если вам интересно, зачем связываться с Base64 в случае текстового транспорта это происходит потому, что существует несколько видов подстрок, которые не могут быть сгенерированы в соответствии с кавычко версия для печати правила кодирования. Base64 не имеет тех же ограничений, что делает его использование разумным.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector