Codifica e decodifica testo in Base64, URL encoding, HTML entities, ROT13 e binario.
La codifica (encoding) è il processo di trasformazione di dati da un formato all'altro. A differenza della crittografia, la codifica non ha lo scopo di nascondere informazioni: è reversibile e serve a rendere i dati compatibili con specifici protocolli o canali di trasmissione. Ogni sviluppatore web la incontra quotidianamente.
Base64 codifica dati binari usando 64 caratteri ASCII (A-Z, a-z, 0-9, +, /). Fu definita nella RFC 4648. Ogni 3 byte di input diventano 4 caratteri Base64, per questo l'output è circa il 33% più grande. Usi comuni: embedding di immagini nelle email (MIME), data URI nei CSS (data:image/png;base64,...), token JWT, trasmissione di file binari via JSON/XML.
Gli URL ammettono solo un sottoinsieme di caratteri ASCII. Spazi, caratteri accentati e simboli speciali vengono sostituiti con %XX dove XX è il codice esadecimale UTF-8. Ad esempio: lo spazio diventa %20, "è" diventa %C3%A8. È fondamentale per parametri delle query string e per evitare ambiguità nei link.
In HTML, alcuni caratteri hanno un significato speciale: < apre un tag, & inizia un'entità. Per visualizzarli come testo bisogna usare le entità HTML: < per <, > per >, & per &. Questa pratica è essenziale per prevenire attacchi XSS (Cross-Site Scripting) nelle applicazioni web.
ROT13 è un cifrario a sostituzione che ruota ogni lettera di 13 posizioni nell'alfabeto. Poiché l'alfabeto ha 26 lettere, applicare ROT13 due volte restituisce il testo originale. Non offre alcuna sicurezza reale: viene usato per nascondere spoiler nei forum, offuscare email per evitare spam bot, o come esempio didattico di cifrario di Cesare.