Тайм-ауты и повторные передачи TCP


Изменения в заголовках использование неASCII символов



Изменения в заголовках: использование не-ASCII символов

RFC 1522 [Moore 1993] указывает способы передачи не-ASCII символов в заголовках сообщений, основанных на RFC 822. Основное назначение - разрешить использовать дополнительные символы в именах отправителя и получателя, а также в теме сообщения.

Поле заголовка может содержать закодированные слова. При этом формат следующий:

=? charset ? encoding ? encoded text ?=

charset это спецификация набора символов. Приемлемые значения это две строки us-ascii и iso-8859-X, где X это одна цифра, как, например, iso-8859-1.

encoding это один символ, который указывает метод кодирования. Поддерживаются два значения.

  1. Q означает quoted-printable и предназначен для латинского набора символов. Большинство символов передаются как NVT ASCII (старший бит установлен в 0, естественно). Любой отправляемый символ, у которого восьмой бит не равен 0, посылается как три символа: первый символ =, после чего следуют две шестнадцатиричные цифры. Например, символ й (бинарное 8-битное значение которого равно 0xe9) передается как три символа =E9. Пробелы всегда отправляются либо как подчеркивание, либо как три символа =20. Такое кодирование используется для текста, который в основном состоит из ASCII с небольшим количеством специальных символов.
  2. B означает кодирование по основанию 64. Три последовательных байта текста (24 бита) кодируются как четыре 6-битных значения. Для того, чтобы представить каждое из возможных 6-битных значений, используется, 64 символа NVT ASCII, как показано на рисунке 28.6.

6-битное значение ASCII символ 6-битное значение ASCII символ 6-битное значение ASCII символ 6-битное значение ASCII символ
0 A 10 Q 20 g 30 w
1 B 11 R 21 h 31 x
2 C 12 S 22 i 32 y
3 D 13 T 23 j 33 z
4 E 14 U 24 k 34 0
5 F 15 V 25 l 35 1
6 G 16 W 26 m 36 2
7 H 17 X 27 n 37 3
8 I 18 Y 28 o 38 4
9 J 19 Z 29 p 39 5
a K 1a a 2a q 3a 6
b L 1b b 2b r 3b 7
c M 1c c 2c s 3c 8
d N 1d d 2d t 3d 9
E O 1e e 2e u 3e +
f P 1f f 2f v 3f /









Начало  Назад  Вперед