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