MIME (/maɪm/, англ. Multipurpose Internet Mail Extensions — многоцелевые расширения интернет-почты) — стандарт, описывающий передачу различных типов данных по электронной почте, а также, в общем случае, спецификация для кодирования информации и форматирования сообщений таким образом, чтобы их можно было пересылать по Интернету.
пределяет механизмы для передачи разного рода информации внутри текстовых данных (в частности, с помощью электронной почты), а именно: текст на языках, для которых используются кодировки, отличные от ASCII, и нетекстовые данные, такие, как картинки, музыка, фильмы и программы
- Передача произвольных символов в заголовках
=?charset?encoding_type?encoded-text?=
charset - таблица кодировки (ASCII, UTF-8 и т.д)
encoding_type - метод кодировки
encoded-text - сам текст, после кодировки
- На сегодняшний день существует два основных метода кодирования, позволяющие передать с помощью только символов набора US-ASCII произвольные значения байтов:
- «Q» кодирование, или кодирование по методу Quoted-Printable
- При необходимости передать набор US-ASCII этот символ просто передается без всяких ухищрений, при необходимости передать символ не входящий в АSCII, символ передается следующим образом: знак =, после чего передается шестнадцатеричное значение байта двумя цифрами нужного символа из соответствующей кодовой таблицы
.
- «B» кодирование, или кодирование по методу BASE64
- Текст разбивается на группы по 6 бит и каждой группе присваивается соответствующий код ASCII из алфавита BASE64. С помощью четырех символов алфавита можно закодировать ТРИ байта, что экогомичнее, нежели передавать один произвольный байт с помощью трех разрешенных символов.
Количество символов, передаваемых с помощью этого метода ВСЕГДА кратно четырем, а по количеству знаков = в конце всегда можно сказать, сколько нулей было добавлено к исходному набору символов и произвести правильное декодирование