La classe StreamRecoder fornisce una visione frontend - backend dei dati in codifica, qualche volta utile quando ci si trova a gestire differenti ambienti di codifica.
La sua struttura � tale che possiate utilizzare le funzioni factory restituite dalla funzione lookup() per costruire l'istanza.
| stream, encode, decode, Reader, Writer, errors) |
Possono venire usati questi oggetti per eseguire una trasparente, diretta, ricodifica da, per esempio, Latin-1 a UTF-8 e viceversa.
stream deve essere un oggetto simile a file.
encode e decode devono aderire all'interfaccia Codec, Reader e Writer devono essere funzioni di base o classi in grado di fornire oggetti rispettivamente delle interfacce StreamReader e StreamWriter.
encode e decode sono necessarie per la traduzione del frontend, Reader e Writer per la traduzione del backend. Il formato intermedio usato viene determinato dai due insiemi di codec, per esempio il codec Unicode user� Unicode come codifica intermedia.
La gestione degli errori viene fatta nello stesso modo di quello definito per i flussi di lettura e scrittura.
Le istanze StreamRecoder definiscono le interfacce combinate delle classi StreamReader e StreamWriter. Ereditano tutti gli altri metodi ed attributi del flusso sottostante.
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.