Base64 in Python: guida completa per codificare stringhe e file

di Lorenzo Neri
Published: Last Updated on

Base64 in Python: guida completa per codificare stringhe e file: vuoi imparare ad usare Base64 in Python per codificare e decodificare stringhe o file binari? In questa guida scoprirai tutto ciò che ti serve per lavorare con Base64 in Python, anche su file.

Base64 in Python: cos’è il base64?

Il Base64 è un sistema di codifica che consente di rappresentare dati binari in formato testuale usando i 64 caratteri ASCII.
Python può essere un linguaggio di programmazione molto versatile e viene comunemente utilizzato per codificare dati binari, come nel caso del Base64 in Python, per trasmettere immagini o file. Un tipico esempio è la codifica di un’immagine o un file in modo che possa essere incorporato come stringa.

Ciao! Mi chiamo Lorenzo Neri e sono un informatico: articoli come questo presenti sul mio blog, nascono da problemi che ho affrontato nel corso della mia carriera lavorativa. Quale miglior modo se non condividere le soluzioni che ho trovato per essi assieme a te che mi stai leggendo?

Iniziamo.

Python Base64: encoding ed encoding partendo da un pacchetto

Così come quasi praticamente tutto in Python, anche base64 non fa eccezione: anch’esso è gestito come modulo!

Possiamo trovarlo tramite pip e se caso ti servisse, ti lascio a distanza di un click i suoi riferimenti, ma concentriamoci sul suo utilizzo.

Una volta installato e messo a disposizione sulla tua macchina, mette a disposizione due metodi: “b64decode” e ovviamente la sua nemesi “b64encode”.

Encoding e decoding in base64: come si fa

Una volta capito che abbiamo due metodi, uno l’antitesi dell’altro, come input ci servirà una stringa “binaria”. Per fare ciò è sufficiente mettere una “b” che precede la stringa stessa:

import base64
stringa=b"ciao sono una stringa"
base64.b64encode(stringa)

E di fatto come output avremo:

b'Y2lhbyBzb25vIHVuYSBzdHJpbmdh'

Ma a questo punto, cosa mai dovremo fare per ottenere il contenuto di partenza? Non aver paura: arriva il controesempio!

E parlando di esempi, tutti i miei articoli ne hanno, ma non solo: parlando di Python ho creato un’intera categoria per esso che puoi trovare esattamente qui!

Tornando a noi, l’operazione opposta si traduce in questo modo:

base64.b64decode(b'Y2lhbyBzb25vIHVuYSBzdHJpbmdh')
b'ciao sono una stringa'

Questa è la base del funzionamento del Base64 in Python: semplice ma estremamente utile in tantissimi casi reali.

Encoding ed encoding di file con Base64

Se gli esempi di prima non ti bastano, possiamo vedere per esempio come effettuare l’encoding e il decoding di un file basato su Base64:

# Codifica un file in base64
with open("immagine.jpg", "rb") as file:
    encoded = base64.b64encode(file.read())
    print(encoded)
# Decodifica e salva su file
with open("decodificata.jpg", "wb") as file_out:
    file_out.write(base64.b64decode(encoded))

Se vuoi lavorare su file binari come immagini, puoi usare il modulo base64 anche per leggere e scrivere su file. Questo è uno degli usi più comuni del Base64 in Python in ambito pratico.

Continua a scoprire di più con questi articoli!

Lascia un commento

Questo sito potrebbe fare uso di cookie e siccome l'UE mi obbliga a fartelo presente, eccoti il classico banner dove puoi decidere come gestirli. Accetta Leggi di più