[Python-Dev] Why can't I encode/decode base64 without importing a module? (original) (raw)
Steven D'Aprano steve at pearwood.info
Tue Apr 23 04:04:45 CEST 2013
- Previous message: [Python-Dev] Why can't I encode/decode base64 without importing a module?
- Next message: [Python-Dev] Why can't I encode/decode base64 without importing a module?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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
- Previous message: [Python-Dev] Why can't I encode/decode base64 without importing a module?
- Next message: [Python-Dev] Why can't I encode/decode base64 without importing a module?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]