4.9.1 Classi base di Codec

Il modulo codecs definisce un insieme di classi base che definiscono l'interfaccia, e che possono anche venire usate per scrivere rapidamente i propri codecs da utilizzare con Python.

Ogni codec deve definire quattro interfacce perché sia usabile come codec in Python: stateless encoder (NdT: codificatore senza stato), stateless decoder (NdT: decodificatore senza stato), stream reader (NdT: lettore di flusso) e stream writer (NdT: scrittore di flusso). Gli stream reader e writer di solito riutilizzano gli stateless encoder/decoder per implementare i protocolli file.

La classe Codec definisce l'interfaccia per gli encoders/decoders stateless.

Per semplificare e standardizzare la gestione degli errori, i metodi encode() e decode() possono implementare differenti schemi di gestione dell'errore, fornendo l'argomento stringa errors. I seguenti valori stringa vengono definiti ed implementati da tutti i codec standard di Python:

Valore  Significato 
'strict' Solleva un'eccezione UnicodeError (o una classe derivata); questo è il comportamento predefinito.
'ignore' Ignora il carattere e continua con il successivo.
'replace' Sostituisce con un opportuno carattere di rimpiazzo. Python userà il CARATTERE SOSTITUTIVO U+FFFD ufficiale per i codec Unicode built-in durante la codifica, e '?' per la decodifica.
'xmlcharrefreplace' Sostituisce con l'appropriato riferimento a carattere XML (solo per la codifica).
'backslashreplace' Sostituisce con una sequenza di escape protetto (solo per la codifica).

L'insieme dei valori ammessi può venire esteso tramite register_error.



Subsections
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.