summaryrefslogtreecommitdiff
path: root/sys/src/cmd/python/Doc/lib/libbase64.tex
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@localhost>2011-05-03 11:25:13 +0000
committercinap_lenrek <cinap_lenrek@localhost>2011-05-03 11:25:13 +0000
commit458120dd40db6b4df55a4e96b650e16798ef06a0 (patch)
tree8f82685be24fef97e715c6f5ca4c68d34d5074ee /sys/src/cmd/python/Doc/lib/libbase64.tex
parent3a742c699f6806c1145aea5149bf15de15a0afd7 (diff)
add hg and python
Diffstat (limited to 'sys/src/cmd/python/Doc/lib/libbase64.tex')
-rw-r--r--sys/src/cmd/python/Doc/lib/libbase64.tex169
1 files changed, 169 insertions, 0 deletions
diff --git a/sys/src/cmd/python/Doc/lib/libbase64.tex b/sys/src/cmd/python/Doc/lib/libbase64.tex
new file mode 100644
index 000000000..d7eccbdb1
--- /dev/null
+++ b/sys/src/cmd/python/Doc/lib/libbase64.tex
@@ -0,0 +1,169 @@
+\section{\module{base64} ---
+ RFC 3548: Base16, Base32, Base64 Data Encodings}
+
+\declaremodule{standard}{base64}
+\modulesynopsis{RFC 3548: Base16, Base32, Base64 Data Encodings}
+
+
+\indexii{base64}{encoding}
+\index{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
+text strings that can be 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 string objects using all
+three alphabets. The legacy interface provides for encoding and
+decoding to and from file-like objects as well as strings, but only
+using the Base64 standard alphabet.
+
+The modern interface, which was introduced in Python 2.4, provides:
+
+\begin{funcdesc}{b64encode}{s\optional{, altchars}}
+Encode a string use Base64.
+
+\var{s} is the string to encode. Optional \var{altchars} must be a
+string of at least length 2 (additional characters are ignored) which
+specifies an alternative alphabet for the \code{+} and \code{/}
+characters. This allows an application to e.g. generate URL or
+filesystem safe Base64 strings. The default is \code{None}, for which
+the standard Base64 alphabet is used.
+
+The encoded string is returned.
+\end{funcdesc}
+
+\begin{funcdesc}{b64decode}{s\optional{, altchars}}
+Decode a Base64 encoded string.
+
+\var{s} is the string to decode. Optional \var{altchars} must be a
+string of at least length 2 (additional characters are ignored) which
+specifies the alternative alphabet used instead of the \code{+} and
+\code{/} characters.
+
+The decoded string is returned. A \exception{TypeError} is raised if
+\var{s} were incorrectly padded or if there are non-alphabet
+characters present in the string.
+\end{funcdesc}
+
+\begin{funcdesc}{standard_b64encode}{s}
+Encode string \var{s} using the standard Base64 alphabet.
+\end{funcdesc}
+
+\begin{funcdesc}{standard_b64decode}{s}
+Decode string \var{s} using the standard Base64 alphabet.
+\end{funcdesc}
+
+\begin{funcdesc}{urlsafe_b64encode}{s}
+Encode string \var{s} using a URL-safe alphabet, which substitutes
+\code{-} instead of \code{+} and \code{_} instead of \code{/} in the
+standard Base64 alphabet.
+\end{funcdesc}
+
+\begin{funcdesc}{urlsafe_b64decode}{s}
+Decode string \var{s} using a URL-safe alphabet, which substitutes
+\code{-} instead of \code{+} and \code{_} instead of \code{/} in the
+standard Base64 alphabet.
+\end{funcdesc}
+
+\begin{funcdesc}{b32encode}{s}
+Encode a string using Base32. \var{s} is the string to encode. The
+encoded string is returned.
+\end{funcdesc}
+
+\begin{funcdesc}{b32decode}{s\optional{, casefold\optional{, map01}}}
+Decode a Base32 encoded string.
+
+\var{s} is the string to decode. Optional \var{casefold} is a flag
+specifying whether a lowercase alphabet is acceptable as input. For
+security purposes, the default is \code{False}.
+
+\rfc{3548} allows for optional mapping of the digit 0 (zero) to the
+letter O (oh), and for optional mapping of the digit 1 (one) to either
+the letter I (eye) or letter L (el). The optional argument
+\var{map01} when not \code{None}, specifies which letter the digit 1 should
+be mapped to (when map01 is not \var{None}, the digit 0 is always
+mapped to the letter O). For security purposes the default is
+\code{None}, so that 0 and 1 are not allowed in the input.
+
+The decoded string is returned. A \exception{TypeError} is raised if
+\var{s} were incorrectly padded or if there are non-alphabet characters
+present in the string.
+\end{funcdesc}
+
+\begin{funcdesc}{b16encode}{s}
+Encode a string using Base16.
+
+\var{s} is the string to encode. The encoded string is returned.
+\end{funcdesc}
+
+\begin{funcdesc}{b16decode}{s\optional{, casefold}}
+Decode a Base16 encoded string.
+
+\var{s} is the string to decode. Optional \var{casefold} is a flag
+specifying whether a lowercase alphabet is acceptable as input. For
+security purposes, the default is \code{False}.
+
+The decoded string is returned. A \exception{TypeError} is raised if
+\var{s} were incorrectly padded or if there are non-alphabet
+characters present in the string.
+\end{funcdesc}
+
+The legacy interface:
+
+\begin{funcdesc}{decode}{input, output}
+Decode the contents of the \var{input} file and write the resulting
+binary data to the \var{output} file.
+\var{input} and \var{output} must either be file objects or objects that
+mimic the file object interface. \var{input} will be read until
+\code{\var{input}.read()} returns an empty string.
+\end{funcdesc}
+
+\begin{funcdesc}{decodestring}{s}
+Decode the string \var{s}, which must contain one or more lines of
+base64 encoded data, and return a string containing the resulting
+binary data.
+\end{funcdesc}
+
+\begin{funcdesc}{encode}{input, output}
+Encode the contents of the \var{input} file and write the resulting
+base64 encoded data to the \var{output} file.
+\var{input} and \var{output} must either be file objects or objects that
+mimic the file object interface. \var{input} will be read until
+\code{\var{input}.read()} returns an empty string. \function{encode()}
+returns the encoded data plus a trailing newline character
+(\code{'\e n'}).
+\end{funcdesc}
+
+\begin{funcdesc}{encodestring}{s}
+Encode the string \var{s}, which can contain arbitrary binary data,
+and return a string containing one or more lines of
+base64-encoded data. \function{encodestring()} returns a
+string containing one or more lines of base64-encoded data
+always including an extra trailing newline (\code{'\e n'}).
+\end{funcdesc}
+
+An example usage of the module:
+
+\begin{verbatim}
+>>> import base64
+>>> encoded = base64.b64encode('data to be encoded')
+>>> encoded
+'ZGF0YSB0byBiZSBlbmNvZGVk'
+>>> data = base64.b64decode(encoded)
+>>> data
+'data to be encoded'
+\end{verbatim}
+
+\begin{seealso}
+ \seemodule{binascii}{Support module containing \ASCII-to-binary
+ and binary-to-\ASCII{} conversions.}
+ \seerfc{1521}{MIME (Multipurpose Internet Mail Extensions) Part One:
+ Mechanisms for Specifying and Describing the Format of
+ Internet Message Bodies}{Section 5.2, ``Base64
+ Content-Transfer-Encoding,'' provides the definition of the
+ base64 encoding.}
+\end{seealso}