Codifica e decodifica di stringhe Base64 in Python
La codifica Base64 viene utilizzata per convertire byte che contengono dati binari o di testo in caratteri ASCII. La codifica impedisce che i dati vengano danneggiati quando vengono trasferiti o elaborati tramite un sistema di solo testo. In questo articolo discuteremo della codifica e decodifica Base64 e dei suoi usi per codificare e decodificare dati binari e di testo.
Codifica Base64:
È un tipo di conversione di byte in caratteri ASCII. l'elenco dei caratteri Base64 disponibili è riportato di seguito:
- 26 lettere maiuscole
- 26 lettere minuscole
- 10 numeri
- + e / per le nuove righe
Ogni carattere Base64 rappresenta 6 bit di dati. è anche importante notare che non è pensato per la crittografia per ovvi motivi.
Per convertire una stringa in un carattere Base64 è necessario seguire i seguenti passaggi:
- Ottieni il valore ASCII di ciascun carattere nella stringa.
- Calcola l'equivalente binario a 8 bit dei valori ASCII
- Converti il blocco di caratteri da 8 bit in blocchi da 6 bit raggruppando nuovamente le cifre
- Convertire i gruppi binari a 6 bit nei rispettivi valori decimali.
- Utilizzare la tabella di codifica Base64 per allineare i rispettivi valori Base64 per ciascun valore decimale.
L'immagine seguente ci fornisce una tabella di codifica Base64.
Fonte immagine: Wikipedia
Utilizzo di Python per codificare le stringhe:In Python il modulo base64 viene utilizzato per codificare e decodificare i dati. Innanzitutto, le stringhe vengono convertite in oggetti simili a byte e quindi codificate utilizzando il modulo base64. L'esempio seguente mostra che l'implementazione delle stringhe di codifica non è composta da caratteri Base64.
Esempio:
import> base64> > sample_string> => 'GeeksForGeeks is the best'> sample_string_bytes> => sample_string.encode(> 'ascii'> )> > base64_bytes> => base64.b64encode(sample_string_bytes)> base64_string> => base64_bytes.decode(> 'ascii'> )> > print> (f> 'Encoded string: {base64_string}'> )> |
Produzione:
Encoded string: R2Vla3NGb3JHZWVrcyBpcyB0aGUgYmVzdA==
Usare Python per decodificare le stringhe:
La decodifica della stringa Base64 è esattamente opposta a quella della codifica. Per prima cosa convertiamo le stringhe Base64 in byte di dati non codificati seguiti dalla conversione in oggetti simili a byte in una stringa. L'esempio seguente illustra la decodifica dell'output della stringa di codifica dell'esempio precedente.
Esempio:
import> base64> > > base64_string> => ' R2Vla3NGb3JHZWVrcyBpcyB0aGUgYmVzdA =='> base64_bytes> => base64_string.encode(> 'ascii'> )> > sample_string_bytes> => base64.b64decode(base64_bytes)> sample_string> => sample_string_bytes.decode(> 'ascii'> )> > print> (f> 'Decoded string: {sample_string}'> )> |
Produzione:
Decoded string: GeeksForGeeks is the best