The Codec class defines these methods which also define the function interfaces of the stateless encoder and decoder:
errors defines the error handling to apply. It defaults to
'strict'
handling.
The method may not store state in the Codec instance. Use StreamCodec for codecs which have to keep state in order to make encoding/decoding efficient.
The encoder must be able to handle zero length input and return an empty object of the output object type in this situation.
input must be an object which provides the bf_getreadbuf
buffer slot. Python strings, buffer objects and memory mapped files
are examples of objects providing this slot.
errors defines the error handling to apply. It defaults to
'strict'
handling.
The method may not store state in the Codec instance. Use StreamCodec for codecs which have to keep state in order to make encoding/decoding efficient.
The decoder must be able to handle zero length input and return an empty object of the output object type in this situation.
The StreamWriter and StreamReader classes provide generic working interfaces which can be used to implement new encodings submodules very easily. See encodings.utf_8 for an example on how this is done.