Форум: "Сети";
Текущий архив: 2002.01.17;
Скачать: [xml.tar.bz2];
ВнизКодировка почты Найти похожие ветки
← →
SKiwa (2001-10-01 13:24) [4]Исторически сложилось так, что гарантированно проходят только 7бит символа(чистый ASCII), т.е. русские символы(8бит) могут быть искажены(да и не только русские).
Т.к. существуют сервера(а точнее люди, преимущественно в США) которые принципиально не желают знать других кодировок кроме ASCII, то для решения проблем применяются несколько подходов, один из них Base64.
В чем его смысл - 3 симола по 8 бит объединяются в 24 битное число, которое затем разбивается на 4 кода по 6 бит и они затем переводятся в коды символов таблицы ASCII в соответствии с таблицей
Code64: String[64] =
("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/");
Т.е. если 6 битовый код равен нулю то в текст письма будет подставлен символ "A" первый символ из приведенной строки. На клиентской стороне делается обратное преобразование и восстанавливается исходный текст.
Таким образом через сервера письма проходят без искажений т.к. не содержат 8 битовых символов, но при этом на 3 оригинальных символа передаются 4 символа соответствующих ASCII.
Если при преобразовании последний кусок из 3 символов заполняется не полностью, нельзя требовать от людей чтобы длинна текста была кратна 3, то в теле письма идут знаки "=" которые фактически обозначают отсутствие символа.
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2002.01.17;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.004 c