⇤ ← Revision 1 as of 2007-04-02 22:21:35
918
Comment:
|
935
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
The {{{codecs.StreamRecoder}}} class re-encodes data between 2 character sets. Its constructor specifies the 2 character sets in different ways. The user should specify the internal character set as an encode, decode pair. She should provide the external character set by supplying class definitions of a codec-specific {{{StreamReader}}} and {{{StreamWriter}}}. |
The {{{codecs.StreamRecoder}}} class re-encodes data between 2 character sets. Its constructor specifies the 2 character sets in different ways. The user should specify the internal character set as a pair of {{{encoder}}} and {{{decoder}}}. She should provide the external character set by supplying class definitions of a codec-specific {{{StreamReader}}} and {{{StreamWriter}}}. |
The codecs.StreamRecoder class re-encodes data between 2 character sets. Its constructor specifies the 2 character sets in different ways. The user should specify the internal character set as a pair of encoder and decoder. She should provide the external character set by supplying class definitions of a codec-specific StreamReader and StreamWriter.
Pseudocode of codecs.StreamRecoder of the Python2.5 version:
1 class StreamRecoder:
2 def __init__(self, stream, e, d, sr_class, sw_class):
3 # internal encoder, decoder^ ^external decoder, encoder
4 self.r = sr_class(stream)
5 self.w = sw_class(stream)
6 ...
7
8 def read(self):
9 return self.e(self.r.read())
10
11 def write(self, data):
12 return self.w.write(self.d(data))
See also: StreamReader, StreamWriter, StreamReaderWriter.