MaKvc
@MaKvc
Отчаянный веб-разработчик

Как декодировать Base64 (RFC 2045)?

Объясните "на пальцах" как декодировать Base64 стандарта RFC 2045. Уже вторые сутки, смотрю на страницу Base64 - Википедия так и не смог понять, как декодировать. Не привязываю вопрос к конкретному ЯП, есть лист бумаги, ручка.
  • Вопрос задан
  • 570 просмотров
Решения вопроса 1
saboteur_kiev
@saboteur_kiev
software engineer
Даже по википедии все понятно. Каждые 3 обычных байта превращаются в 4 байта, что позволяет передавать их 64ю символами.

1. Берем три байта. Это 3 * 8 = 24 бита.
2. Делим их на четыре байта таким образом, что в каждый из 4 байт заносим по 6 значащих бит, а два старших бита заполняем нулями.
3. Получаем 4 байта, каждый из которых может иметь значение от 0 до 63 (потому что два старших бита нули).
4. По таблице из википедии подставляем нужные символы, и получаем ASC2 представление, то есть BASE64 закодированную строку.

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

Все.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы