12.12 base64 -- RFC 3548: codifiche di dati Base16, Base32, Base64

Questo modulo fornisce la codifica e la decodifica dei dati specificati dalla RFC 3548. Questo standard definisce gli algoritmi Base16, Base32 e Base64 per la codifica e la decodifica di stringhe binarie arbitrarie in stringhe di testo che possono essere tranquillamente spedite tramite email, usate come parti di URL o incluse come parti di richieste HTTP POST. L'algoritmo di codifica non � il medesimo usato dal programma uuencode.

Il modulo fornisce due diverse interfacce. L'interfaccia moderna supporta la codifica e la decodifica di oggetti stringa usando tre alfabeti. La vecchia interfaccia ereditata fornisce la codifica e la decodifica per e da oggetti simile a file come fossero stringhe, ma usa solamente l'alfabeto Base64 standard.

L'interfaccia moderna fornisce:

b64encode( s[, altchars])
Codifica in stringa usando Base64.

s � la stringa da codificare. Il facoltativo altchars deve essere una stringa di lunghezza minima 2 (ulteriori caratteri vengono ignorati) che specifichi un alfabeto alternativo per i caratteri + e /. Questo consente ad applicazioni, per esempio, di generare delle URL o filesystem sicuramente in stringhe Base64. Il valore predefinito � None, per cui viene usato l'alfabeto Base64 standard.

La stringa codificata viene restituita.

b64decode( s[, altchars])
Decodifica la stringa codificata in Base64.

s � la stringa da decodificare. Il facoltativo altchars deve essere una stringa di lunghezza minima 2 (ulteriori caratteri vengono ignorati) che specifichi un alfabeto alternativo da usare al posto dei caratteri + e /.

La stringa decodificata viene restituita. Viene sollevata un'eccezione TypeError se s non viene riempita correttamente o se nella stringa vi sono contenuti caratteri non alfabetici.

standard_b64encode( s)
Codifica la stringa s usando l'alfabeto Base64 standard.

standard_b64decode( s)
Decodifica la stringa s usando l'alfabeto Base64 standard.

urlsafe_b64encode( s)
Codifica la stringa s usando un alfabeto sicuro per le URL, che sostituisca + con - e / con _ nell'alfabeto Base64 standard.

urlsafe_b64decode( s)
Decodifica la stringa s usando un alfabeto sicuro per le URL, che sostituisca + con - e / con _ nell'alfabeto Base64 standard.

b32encode( s)
Codifica una stringa usando Base32. s � la stringa da codificare. La stringa codificata viene restituita.

b32decode( s[, casefold[, map01]])
Decodifica una stringa codificata in base32.

s � la stringa da decodificare. Il facoltativo casefold � un'opzione che specifica se un alfabeto in minuscolo sia accettabile in input. Per questioni di sicurezza, il valore predefinito viene impostato a False.

La RFC 3548 permette una facoltativa mappatura della cifra 0 (zero) con la lettera O (oh) e la sempre facoltativa mappatura della cifra 1 (uno) sia alla lettera I (eye) o la lettera (el). L'argomento facoltativo map01, quando non None, specifica quale lettera della cifra 1 deve essere mappata (quando map01 non � None, la cifra 0 � sempre mappata alla lettera O). Per questioni di sicurezza il valore predefinito � None, cos� 0 ed 1 non vengono permessi in input.

La stringa decodificata viene restituita. Viene sollevata un'eccezione TypeError se s non viene riempita correttamente o se nella stringa vi sono contenuti caratteri non alfabetici.

b16encode( s)
Codifica la stringa usando Base16.

s � la stringa da codificare. La stringa codificata viene restituita.

b16decode( s[, casefold])
Decodifica la stringa codificata in Base16.

s � la stringa da decodificare. Il facoltativo casefold � un'opzione che specifica se un alfabeto in minuscolo sia accettabile in input. Per questioni di sicurezza, il valore predefinito viene impostato a False.

La stringa decodificata viene restituita. Viene sollevata un'eccezione TypeError se s non viene riempita correttamente o se nella stringa vi sono contenuti caratteri non alfabetici.

La vecchia interfaccia ereditata:

decode( input, output)
Decodifica il contenuto del file input e scrive i dati binari risultanti sul file output. input ed output devono essere degli oggetti file, o qualsiasi altro oggetto che possiede almeno la stessa interfaccia di un oggetto file. input verr� letto finch� input.read() non restituisce una stringa vuota.

decodestring( s)
Decodifica la stringa s, che deve contenere una o pi� linee di dati codificati in base64, e restituisce la stringa contenente i dati binari risultanti.

encode( input, output)
Codifica il contenuto del file input e scrive la stringa risultante nel file output. input ed output devono essere degli oggetti file, o qualsiasi altro oggetto che possiede almeno la stessa interfaccia di un oggetto file. input verr� letto finch� input.read() non restituir� una stringa vuota. encode() restituisce i dati codificati insieme ad un carattere di fine riga ('\n').

encodestring( s)
Codifica la stringa s di dati binari qualsiasi e la converte in una stringa codificata in base64. encodestring() restituisce una stringa con un carattere di fine riga ('\n').

Vedete anche:

Modulo binascii:
Modulo di utilit� che permette di convertire da ASCII a binario e viceversa.
RFC 1521, MIME (Multipurpose Internet Mail Extensions) Parte prima: Meccanismi per specificare e descrivere il corpo del messaggio su Internet
Sezione 5.2, ``Codifica-Trasferimento-Contenuto Base64'', fornisce la definizione della codifica base64.
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.