Base64 онлайн кодер/декодер
Если закодировать исходный текст, получим |
|
Если раскодировать исходный текст, получим |
|
Описание метода кодироВания
Кодирование Base64 используется для преобразования двоичных данных в текстовый, как формат, что позволяет ему перевозить в условиях, которые могут обрабатывать только текст безопасно. Прецеденты кодирования UID для использования в HTTP URL, ключей шифрования для кодирования и сертификатов, чтобы сделать их безопасно портативный через электронную почту, отображать их в HTML страницах и использовать их с копирования и вставки.
Base64 иногда также упоминается как PEM, что означает конфиденциальности повышенной электронной почте. Там, Base64 был использован для создания печати текст снова после двоичных данных электронной почты, который был создан в процессе шифрования электронной почты.
Способ преобразования
Кодирование Base64 берет исходные двоичные данные и работает на нем, разделив его на лексемы трех байт.Байт состоит из восьми битов, таким образом Base64 занимает 24 бит в общей сложности. Эти 3 байта затем преобразуются в четырех печатных символов из стандарта ASCII.
Первым шагом является взять три байта (24-бит) двоичных данных и разбить его на четыре номера шести битов. Поскольку стандарт ASCII определяет использование семи бит, Base64 использует только 6 бит (соответствующие 2 ^ 6 = 64 символов), чтобы обеспечить кодированные данные для печати и ни один из специальных символов, доступных в ASCII не используются. Название алгоритма Base64 происходит от использования этих 64 символов. Символы ASCII, используемые для Base64 являются цифры 0-9, алфавиты 26 строчные и заглавные буквы 26 плюс два дополнительных символов '+' и '/'.
Таблица кодирования и декодирования по методу Base64 |
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
|
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
a |
b |
c |
d |
e |
f |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
|
g |
h |
i |
j |
k |
l |
m |
n |
o |
p |
q |
r |
s |
t |
u |
v |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
|
w |
x |
y |
z |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
+ |
/ |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
Технически, есть 65-й символ '=' в использовании, но больше об этом далее вниз.
Преобразование ASCII из 3 байт, 24-битовых групп повторяется, пока вся последовательность оригинальных байтов данных не закодируется. Для обеспечения кодированные данные могут быть правильно напечатаны и не превышает предел длины линии любого почтового сервера, вставляются символы новой строки, чтобы сохранить длины линии ниже 76 символов.
Что происходит, когда последний последовательность байтов данных для кодирования длиной не точно 3 байта? Если размер исходных данных в байтах не кратно трем, мы могли бы закончить с только один или два оставшихся (8-бит) байт.Решение заключается в добавлении недостающие байты, используя значение байта «0» для создания окончательного группу 3-байт. Потому что эти искусственные задней '0' не может быть закодирован с помощью таблицы кодов, введем 65-й символ: '=', чтобы представлять «0». Естественно, этот символ может появиться только в конце кодированных данных.