Сначала небольшое предисловие.

Как людей, нас учат считать, используя десятичную систему счисления (также известную как 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.

Допустим, мы хотим закодировать слово «человек».

Порядок действий следующий:

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

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

Чао,

Энди