cpython: 1853679c6f71 (original) (raw)
Mercurial > cpython
changeset 89512:1853679c6f71
whatsnew: base65 encodings. (#17618) Also updated the base64 module title and introduction to adjust for the fact that these new encodings are included. Also adjusted the wording about the base64 alphabets (see issue #20837). [#17618]
R David Murray rdmurray@bitdance.com | |
---|---|
date | Sat, 08 Mar 2014 12:53:28 -0500 |
parents | 200207e50cbf |
children | e617f0ac696d |
files | Doc/library/base64.rst Doc/whatsnew/3.4.rst |
diffstat | 2 files changed, 27 insertions(+), 13 deletions(-)[+] [-] Doc/library/base64.rst 32 Doc/whatsnew/3.4.rst 8 |
line wrap: on
line diff
--- a/Doc/library/base64.rst
+++ b/Doc/library/base64.rst
@@ -1,27 +1,33 @@
-:mod:base64
--- RFC 3548: Base16, Base32, Base64 Data Encodings
-=================================================================
+:mod:base64
--- Base16, Base32, Base64, Base85 Data Encodings
+===============================================================
.. module:: base64
.. index::
pair: base64; encoding
single: MIME; base64 encoding
-This module provides data encoding and decoding as specified in :rfc:3548
.
-This standard defines the Base16, Base32, and Base64 algorithms for encoding
-and decoding arbitrary binary strings into ASCII-only byte strings that can be
+This module provides functions for encoding binary data to printable
+ASCII characters and decoding such encodings back to binary data.
+It provides encoding and decoding functions for the encodings specified in
+in :rfc:3548
, which defines the Base16, Base32, and Base64 algorithms,
+and for the de-facto standard Ascii85 and Base85 encodings.
+
+The :rfc:3548
encodings are suitable for encoding binary data so that it can
safely sent by email, used as parts of URLs, or included as part of an HTTP
POST request. The encoding algorithm is not the same as the
:program:uuencode
program.
-There are two interfaces provided by this module. The modern interface
-supports encoding and decoding ASCII byte string objects using all three
-alphabets. Additionally, the decoding functions of the modern interface also
-accept Unicode strings containing only ASCII characters. The legacy interface
-provides for encoding and decoding to and from file-like objects as well as
-byte strings, but only using the Base64 standard alphabet.
+There are two :rfc:3548
interfaces provided by this module. The modern
+interface supports encoding and decoding ASCII byte string objects using all
+three :rfc:3548
defined alphabets (normal, URL-safe, and filesystem-safe).
+Additionally, the decoding functions of the modern interface also accept
+Unicode strings containing only ASCII characters. The legacy interface provides
+for encoding and decoding to and from file-like objects as well as byte
+strings, but only using the Base64 standard alphabet.
.. versionchanged:: 3.3
ASCII-only Unicode strings are now accepted by the decoding functions of
@@ -29,7 +35,7 @@ byte strings, but only using the Base64
.. versionchanged:: 3.4
Any :term:bytes-like object
\ s are now accepted by all
The modern interface provides:
--- a/Doc/whatsnew/3.4.rst
+++ b/Doc/whatsnew/3.4.rst
@@ -583,6 +583,14 @@ The encoding and decoding functions in :
:class:bytes
or :class:bytearray
instance. (Contributed by Nick Coghlan in
:issue:17839
.)
+New functions :func:~base64.a85encode
, :func:~base64.a85decode
,
+:func:~base64.b85encode
, and :func:~base64.b85decode
provide the ability to
+encode and decode binary data from and to Ascii85
and the git/mercurial
+Base85
formats, respectively. The a85
functions have options that can
+be sued to make them compatible with the variants of the Ascii85
encoding,
+including the Adobe variant. (Contributed by Martin Morrison, the Mercurial
+project, Serhiy Storchaka, and Antoine Pitrou in :issue:17618
.)
+
colorsys
--------