This is a static archive of the Python wiki, which was retired in February 2026 due to lack of usage and the resources necessary to serve it — predominately to bots, crawlers, and LLM companies.
Pages are preserved as they were at the time of archival. For current information, please visit python.org.
If a change to this archive is absolutely needed, requests can be made via the infrastructure@python.org mailing list.

As of Python2.5, StreamReader wraps (contains) a stream. It defines read and other respective methods to read the data from the stream and "decode" them. The class exposes all other methods of the stream instance.

Pseudocode of the codecs.StreamReader definition:

   1 class StreamReader(Codec):
   2     def __init__(self, stream):
   3         ....
   4 
   5     def read(self):
   6         return self.decode(stream.read())

The decode method normally converts values of type str to unicode.

Codec modules will attach the decode method to the class definition derived from StreamReader during the initialization. An excerpt from encodings.utf_8.StreamReader:

   1 class StreamReader(codecs.StreamReader):
   2     decode = codecs.utf_8_decode


See also: StreamWriter, StreamReaderWriter, StreamRecoder.


CategoryUnicode


2026-02-14 16:13