Costruire un codificatore rot13 golfato è troppo facile perché le lettere sono tutte dello stesso ordine nello spazio dei caratteri ASCII. Proviamo invece un motore rot32.
Il tuo compito è costruire una funzione che accetta una stringa Base64 come input e restituisce la stessa stringa ma con ogni lettera ruotata di 32 simboli dal suo originale (in sostanza, con il primo bit capovolto).
La stringa di codifica base64 da utilizzare per questo problema è 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ+/con un carattere di riempimento di =. Questo per evitare soluzioni che altrimenti utilizzerebbero o importerebbero una libreria Base64 integrata in cui normalmente iniziano le stringhe Aanziché 0.
Example inputs and outputs:
> rot32("THE+QUICK+BROWN+FOX+JUMPS+OVER+THE+LAZY+DOG=")
nb8ukoc6eu5liqhu9irudogjmuip8lunb8uf4tsu7ia=
> rot32("NB8UKOC6EU5LIQHU9IRUDOGJMUIP8LUNB8UF4TSU7IA=")
h5Eoei6C8oBfckboFclo7iadgocjEfoh5Eo9AnmoDc4=
> rot32("Daisy++daisy++give+me+your+answer+true/I+/+m+half+crazy++all+for+the+love+of+you")
7GOY2uuJGOY2uuMO/KuSKu2U+XuGTY0KXuZX+KvcuvuSuNGRLuIXG32uuGRRuLUXuZNKuRU/KuULu2U+
Vince il programma più breve per farlo in qualsiasi lingua.