Интегрированные сети ISDN

         

Коды Base



Таблица .1. Коды Base64

Код

символа

(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

/

Закодированный выходной поток должен иметь формат последовательности из одной или более строк длиной не более 76 символов каждая. Все разрывы строк или другие символы, не содержащиеся в таблице .1. должны игнорироваться декодирующим программным обеспечением. В данных, представленных в кодах base64, символы отличные от тех, что представлены в таблице .1., разрывы строк и другие пробелы обычно указывает на ошибку передачи, которая вызовет предупреждение или даже выбрасывание сообщения.

Если число бит в группе меньше 24, используется специальная обработка. Неполная битовая группа дополняется нулями справа до 24. Заполнение в конце информационной группы осуществляется с использованием символа "=". Так как последовательность кодов base64 представляет собой поток октетов, возможны следующие случаи:

  • последний блок кодируемых данных кратен 24 битам; здесь, завершающий выходной блок будет содержать в себе 4 символа и никакого заполнителя,
  • завершающий блок кодируемых данных содержит ровно 8 бит; здесь, оконечный выходной блок будет содержать два символа, за которыми будут следовать два символа заполнителя, или
  • последний блок кодируемой информации содержит ровно 16 бит; здесь, оконечный блок на выходе будет иметь три символа плюс один символ заполнителя "=".
  • Так как "=" используется для дополнения, его наличие указывает на то, что достигнут конец массива данных.
    Такая уверенность не возможна, когда число переданных октетов кратно трем и нет ни одного символа "=". Любые символы, не входящие в алфавит base64-должны игнорироваться.
    Следует позаботиться о том, чтобы использовались корректные октеты в качестве разделителей строк при работе с base64. В частности, разрывы строк должны быть преобразованы в последовательности CRLF до выполнения кодирования base64.

    6. Поле заголовка Content-ID

    При создании агента пользователя высокого уровня, может быть желательно, допустить одному телу ссылаться на другое. Тела могут быть помечены с помощью поля заголовка "Content-ID", которое синтаксически идентично полю "Message-ID":
    id := "Content-ID" ":" msg-id
    Подобно значениям Message-ID, значения Content-ID должны генерироваться уникальными.
    Значение Content-ID может использоваться для идентификации MIME-объектов в нескольких контекстах, в частности для кэширования данных с доступом через механизм message/external-body. Хотя заголовок Content-ID является обычно опционным, его использование является обязательным в приложениях, которые генерируют данные опционного типа среды MIME "message/external-body". По этой причине каждый объект message/external-body должен иметь поле Content-ID, для того чтобы разрешить кэширование таких данных.

    Содержание раздела