Протоколы Internet


Многоцелевое расширение почты Интернет (MIME) - часть 18


Таблица .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 представляет собой поток октетов, возможны следующие случаи:

  1. последний блок кодируемых данных кратен 24 битам; здесь, завершающий выходной блок будет содержать в себе 4 символа и никакого заполнителя,
  2. завершающий блок кодируемых данных содержит ровно 8 бит; здесь, оконечный выходной блок будет содержать два символа, за которыми будут следовать два символа заполнителя, или
  3. последний блок кодируемой информации содержит ровно 16 бит; здесь, оконечный блок на выходе будет иметь три символа плюс один символ заполнителя "=".

Так как "=" используется для дополнения, его наличие указывает на то, что достигнут конец массива данных. Такая уверенность не возможна, когда число переданных октетов кратно трем и нет ни одного символа "=". Любые символы, не входящие в алфавит base64-должны игнорироваться.




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