Сначала небольшое предисловие.
Как людей, нас учат считать, используя десятичную систему счисления (также известную как Base 10), в которой используются 10 различных символов.
Это означает, что мы считаем следующим образом: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9… и, поскольку у нас нет другого символа для представления следующего значения, мы добавляем «1 »Слева и начать заново… 10.
Это не единственная система счисления, систем счисления столько, сколько оснований.
Например, двоичная система (также известная как База 2), где мы считаем следующим образом: 0, 1… и, поскольку у нас нет другого символа для представления следующего значения, мы добавляем «1» к осталось и начать заново… 10.
Обратите внимание, что в системе Base 10 это будет равно 3.
Кодировка Base 64.
Кодирование Base 64 - это метод преобразования строки символов ASCII в другую (закодированную) строку символов ASCII.
Допустим, мы хотим закодировать слово «человек».
Порядок действий следующий:
- Возьмите буквы по отдельности (M, a, n).
- Найдите их один за другим в наборе символов ASCII (или в таблице) и отметьте их соответствующие десятичные числа (77, 97, 110).
- Преобразуйте десятичные числа в соответствующие им представления двоичных чисел или чисел с основанием 2 (1001101, 1100001, 1101110).
- Дополните каждое двоичное число ведущими нулями, чтобы его можно было читать как байт (01001101, 01100001, 01101110).
- Соедините 8-битные числа (байты) в одну строку (010011010110000101101110).
- Слева для записи разделите одну строку на группы по 6 битов, каждая из которых представляет двоичное число (010011, 010110, 000101, 101110).
- Преобразуйте двоичные числа в соответствующие им представления десятичных чисел или чисел с основанием 10 (19, 22, 5, 46).
- Найдите значения ASCII, рассматривая полученные десятичные числа как позицию индекса этого значения (T, W, F, u).
- Выполнено.
По совпадению, в десятичной системе не было бы ни одного символа, который позволил бы мне продолжить этот список в любом случае.
Чао,
Энди