transcodings from e.g. latin-1 to utf-8 and back.

stream must be a file-like object.

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

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

N)