codecs.StreamRecoder.__init__

StreamRecoder.__init__(stream, encode, decode, Reader, Writer, errors='strict')[source]

Creates a StreamRecoder instance which implements a two-way conversion: encode and decode work on the frontend (the input to .read() and output of .write()) while Reader and Writer work on the backend (reading and writing to the stream).

You can use these objects to do transparent direct recodings from e.g. latin-1 to utf-8 and back.

stream must be a file-like object.

encode, decode must adhere to the Codec interface, Reader, Writer must be factory functions or classes providing the StreamReader, StreamWriter interface resp.

encode and decode are needed for the frontend translation, Reader and Writer for the backend translation. Unicode is used as intermediate encoding.

Error handling is done in the same way as defined for the StreamWriter/Readers.