[Python-3000] PEP 3138- String representation in Python 3000
Terry Reedy
tjreedy at udel.edu
Fri May 9 23:52:22 CEST 2008
"M.-A. Lemburg" <mal at egenix.com> wrote in message
news:48242D4A.3060802 at egenix.com...
| On 2008-05-08 22:55, Terry Reedy wrote:
| > Functions that map unicode->unicode or bytes->bytes could be called
| > transcoders. Each type could be given a .transcode method to go along
with
| > but contrast with .encode or .decode.
My main idea is that we can both keep current functionality *and* the new
restriction on usage of .encode() and .decode() (which *does* make things
less confusing at least for me).
| Are you suggesting to have two separate methods which then
| allow same-type-conversions ? One for encoding to the same
| type and one for decoding ?
I only suggested the possibility of one because I was thinking of
transcoders more generally than those in definite 'encode'/'decode' pairs.
A lossy encoder needs a decoder just to do the reverse type conversion.
But a lossy transcoder whose natural partner is the identity function does
not. At least not conceptually. (Example for bytes: map most control
chars to 0 and any above 127 to 127.) Another difference is that
transcoders can be chained is a way that encoders (or decoders, both in the
class-changing sense) cannot.
Thinking more, I realize that there are byte transcoders scattered across
several modules and they are not going to be consolidated. Perhaps only
unicode 'transcoders' are needed. But not for me to decide.
| Fine with me.
I do not really have a hat in this ring, so details are for others to
decide.
| They do have to map naturally to the codec method encode and
| decode, though, so a single method won't do, unless maybe
| you add a parameter to define the direction of the coding
| process.
It was an open question to me whether to reuse codecs or make a new
transcoders module. But ditto my last comment.
Terry Jan Reedy
More information about the Python-3000
mailing list