On 23/04/13 09:16, Greg Ewing wrote:
Victor Stinner wrote:
The last proposition is to add transform() and untransform() methods to bytes and str types. ... If I remember correctly, the missing point is how to define which types are supported by a codec
Also, for any given codec, which direction is "transform" and which is "untransform"?
Also also, what's so special about base64 et al that they deserve an ultra-special way of invoking them, instead of having to import a class or function like you do for *every* *other* piece of library functionality?
As others have pointed out in the past, repeatedly, the codec system is completely general and can transform bytes->bytes and text->text just as easily as bytes<->text. Or indeed any bijection, as the docs for 2.7 point out. The question isn't "What's so special about base64?" The questions should be: - What's so special about exotic legacy transformations like ISO-8859-10 and MacRoman that they deserve a string method for invoking them? - Why have common transformations like base64, which worked in 2.x, been relegated to second-class status in 3.x? - If it is no burden to have to import a module and call an external function for some transformations, why have encode and decode methods at all? If you haven't read this, you should: http://lucumr.pocoo.org/2012/8/11/codec-confusion/ -- Steven