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