Логика кодирования Base64?
return возвращает число от 0 до 63.
В зависимости от входного символа идёт его преобразование.
Если от A до Z, то возвращает 0, если "A", и 90-65=25, если "Z".
Если от a до z, то возвращает 90-65+1 = 26, если "a" и так далее.
Дальше всё должно быть понятно по логике выше. Код очень легко читается.
Основная суть в том, чтобы запихнуть набор символов "A-Za-z0-9+/" в диапазон чисел от 0 до 63.
Это называется маппингом.
https://en.wikipedia.org/wiki/Base64
Base64 кодирует каждые три байта (24 бита) исходного файла в четыре символа из числа тех, которые проходят текстовую обработку заведомо корректно; количество таких символов, очевидно, равно 64 (шесть бит).

Автор функции пользуется тем, что некоторые символы идут непрерывно. Если бы интервалов непрерывности было больше, то проще было бы сделать табличное преобразование.