Describe the transform/untranform methods
authorRaymond Hettinger <python@rcn.com>
Sun, 5 Dec 2010 04:04:21 +0000 (04:04 +0000)
committerRaymond Hettinger <python@rcn.com>
Sun, 5 Dec 2010 04:04:21 +0000 (04:04 +0000)
Doc/whatsnew/3.2.rst

index f84011327f0d925230b18b3c4053bdcb68344e06..dac2becb31eddfcc1a88580cfd0eca7262b5db8c 100644 (file)
@@ -298,6 +298,25 @@ Other Language Changes
 
 Some smaller changes made to the core Python language are:
 
+* :class:`bytes` and :class:`str` now have two net methods, *tranform* and *untransform*.
+  These provided analogues to *encode* and *decode* but are used for general purpose
+  string-to-string and bytes-to-bytes transformations rather than Unicode codecs.
+
+  Along with the new methods, several non-unicode codecs been restored from Python 2.x
+  including *base64*, *bz2*, *hex*, *quopri*, *rot13*, *uu*, and *zlib*.
+
+  >>> t = b'which witch had which witches wrist watch'
+  >>> t.transform('quopri')
+  b'which=20witch=20had=20which=20witches=20wrist=20watch'
+
+  >>> short = t.transform('zlib_codec')
+  >>> len(t), len(short)
+  (41, 38)
+  >>> short.untransform('zlib_codec')
+  b'which witch had which witches wrist watch'
+
+  (From multiple contributers in :issue:`7475`.)
+
 * The interpreter can now be started with a quiet option, ``-q``, to suppress
   the copyright and version information in an interactive mode.