12.2.7 Encoders - Codificatori

Quando si crea da zero un oggetto di tipo Message, spesso si ha bisogno di codificare il carico utile per il trasporto attraverso server email compatibili. Questo è vero specialmente per messaggi di tipo image/* e text/* che contengono dati binari.

Il package email fornisce alcuni codificatori pratici nel suo modulo Encoders. Questi codificatori sono realmente utilizzati dai costruttori delle classi MIMEImage e MIMEText per fornire le codifiche predefinite. Tutte le funzioni di codifica ricevono esattamente un argomento, l'oggetto di tipo messaggio da codificare. Generalmente estraggono il carico utile, lo codificano e reimpostano il carico utile a questo nuovo valore. Devono anche impostare l'intestazione Content-Transfer-Encoding: in modo appropriato.

Ecco le funzioni di codifica fornite:

encode_quopri( msg)
Codifica il carico utile nella forma quoted-printable ed imposta l'intestazione Content-Transfer-Encoding: a quoted-printable12.1. Questa è una buona codifica da utilizzare quando la maggior parte del carico utile sono normali dati stampabili ma contengono pochi caratteri non stampabili.

encode_base64( msg)
Codifica il carico utile nella forma base64 ed imposta l'intestazione Content-Transfer-Encoding: a base64. Questa è una buona codifica da utilizzare quando la maggior parte del carico utile è composto da dati non stampabili poiché è più compatto della forma quoted-printable. Lo svantaggio della codifica base64 è che rende il testo in formato non leggibile da un utente umano ma da una macchina.

encode_7or8bit( msg)
Questo non modifica realmente il carico del messaggio, ma imposta l'intestazione Content-Transfer-Encoding: a 7 o 8 bit come appropriato, in base ai dati del carico utile.

encode_noop( msg)
Questo non fa niente; non imposta nemmeno l'intestazione Content-Transfer-Encoding:



Footnotes

...quoted-printable12.1
Notare che questa codifica, con encode_quopri() codifica anche tutte le tabulazioni e gli spazi vuoti presenti nei dati.
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.