Перейти к содержанию

Конвертер Base64

Справка

Принцип кодирования Base64

Base64 использует 64 символа, A-Z, a-z, 0-9, + и /, для кодирования текста. Идея в том, чтобы разделить каждые три 8-битных байта на четыре 6-битные группы и сопоставить их с таблицей Base64.

  • a: 0110 0001
  • b: 0110 0010
  • 2: 0011 0010

Сопоставление индексов Base64

  • Y: 0110 00
  • W: 0101 10
  • I: 0010 00
  • y: 1100 10

До группировки: 0110 0001, 0110 0010, 0011 0010, то есть a, b и 2.

После группировки: 0110 00, 0101 10, 0010 00, 1100 10, что соответствует Y, W, I и y.

Поэтому Base64 для ab2 равен YWIy.

Почему Base64 примерно в 4/3 раза больше оригинала?

Байт занимает 8 бит, но Base64 группирует данные по 6 бит. Каждую 6-битную группу нужно дополнить до 8 бит для хранения.

После дополнения 24 исходных бита превращаются в 32 бита, поэтому результат Base64 примерно в 4/3 раза больше.

Разница между Base64url и Base64

В стандартном Base64 символы + и / внутри URL кодируются как %2B и %2F, из-за чего URL становится длиннее. Base64url использует A-Z, a-z, 0-9, - и _, чтобы строка была удобной для URL.

Благодарности