При подключении данных на мои письма, я заметил, что Thunderbird вычисляет общий размер полученного по электронной почте, как намного больше, чем файлы я прикрепил.
Здесь'свежий пример: два изображения, один на 13МБ и на 3.6 Мб должны в общей сложности составит около 17МБ. Там были четыре строки текста. Thunderbird затем спросил меня, если я действительно хотел, чтобы отправить сообщение электронной почты с общим размером 22 МБ.
Где эта разница идет? 5МБ текста звучит как перебор.
Ваши данные были 17 Мб. Есть 1024 Кб в Мб. Есть 1024 Б в КИБ. Есть 8 бит в байте. Так что'ы 142,606,336 биты.
Кодировка base 64 кодирует каждые шесть бит в отдельном байте. Поэтому нам нужно около 23,767,722 байт. Деление на 1024 два раза нам 22.67 Мб. Так что's, в которой 22 МИБ приходит.
Электронная почта является довольно старым технологиям и doesn'т принять 8-битные трубы.
<Н1>почему письма больше?</Н1>
Поскольку данные закодированы в формате base64`, который кодирует группами до трех байт, как группы из четырех символов из набора ASCII. Как правило, эти группы печатных символов, затем разделить на линии.
Результатом является то, что закодированные данные только за 1⅓ раза размер исходных данных.
<Н1>зачем используется в base64?</Н1>
Электронная почта имеет давнюю историю и был первоначально разработан, чтобы нести текст. Можно достоверно только байтовые значения, представляющие ASCII печатаемые символы проходят через различные системы электронной почты на планете.
Так что МИМ divised две схемы кодирования другие данные как ASCII текст - то "; в base64 и quot кавычках печати quot и; рассчитанный в основном на текст ASCII с несколько других биты, и " для произвольных двоичных данных.
Было расширений протокола SMTP, чтобы попробовать и снять эти ограничения. Во-первых, команда 8bitmime в 1994 году, что позволило более октетов но, к сожалению, не'т снять ограничения, связанные с длиной линии и линии окончаний, поэтому был не пригоден для произвольных двоичных данных; и затем binarymime и в 1995 году, что позволило передавать сообщения, содержащие произвольные двоичные данные.
Однако, эти стандарты не был широко распространен. Одна проблема в том, что произойдет, если один хоп в кольчуге их поддерживает, но на следующий прыжок не'т? Почтового сервера, то можете'т отправить на почту как есть, он должен либо отвергнуть его как недоставленные и отказов (что вряд ли будет приемлемо для пользователей), или конвертировать его (что требует значительного дополнительного кода в почтовом сервере). Конвертация происходит особенно болезненно по правилам МИМ о не с помощью кодировки на составные типы.