Похоже, что дефис используется в качестве управляющего / маркерного символа в многострочных SMTP-сообщениях.
RFC5321 4.2.1 Серьезность и теория кода ответа :
Формат многострочных ответов требует, чтобы каждая строка, кроме последней, начиналась с кода ответа, после которого следовал бы дефис, "-" (также известный как минус), за которым следовал текст.Последняя строка начинается с кода ответа, за которым сразу следует <SP>
, необязательно некоторый текст и <CRLF>
.Как отмечалось выше, серверам СЛЕДУЕТ отправлять <SP>
, если последующий текст не отправляется, но клиенты ДОЛЖНЫ быть готовы к тому, что он будет пропущен.
Предложение Base91 использует SMTP в качестве примера обоих своих приложений.и ограничения.Как вы заявляете, изначально он хотел использовать 94 символа, но из-за различных стандартов (например, SMTP) он исключает часто используемые псевдоуправляющие символы ("-", ".", "=").Он использует SMTP, потому что демонстрирует практичность кодирования Base91 (например, кодирование 13 битов данных на символ, а не 6 битов с помощью Base64 может значительно уменьшить количество битов, необходимых для кодирования любого данного сообщения) в дополнение к признанию того, что в нем используются дефисыпоскольку управляющий символ не вызовет неоднозначности в тексте Base91.
Base91 может закодировать любой текст. В документе утверждается, что он отображает 13 бит данных в два печатных символа ASCII.Base91 может кодировать любой номер, любой символ (включая символы новой строки), аналогично тому, как Base64 может кодировать любой символ.Аналогично, это отображение можно изменить на обратное, чтобы получить исходный вывод из кодировки Base91.
Вот пример многострочного кода ответа SMTP:
250-First line
250-Second line
250-234 Text beginning with numbers
250 The last line
В этом примере он преобразует большое многострочное сообщение SMTP, которое содержит и дефисы, и новые строки, и числа, в некоторую форму в кодировке Base91.Если эта закодированная форма содержит псевдо-контрольные символы, такие как дефис, SMTP-клиенты могут интерпретировать закодированные в Base91 данные как искаженные данные SMTP.Цель удаления таких символов, как дефисы, из набора символов Base91: , а не из-за недостатков SMTP или спецификаций самого SMTP, именно с клиентами, которые используют и анализируют данные SMTP, и гарантируя, что клиенты по-прежнему могут работать правильно.принимать данные Base91 без риска их неправильного разбора как данных SMTP.