Description
The function of base64 is to use 64 strings to represent the binary.
64 characters refer to the following characters:
That is, 26 uppercase English characters + 26 lowercase English characters + 10 numbers + "+" + "/", a total of 64 characters.
But there is actually a " = ", which is used as padding.
There are several reasons for why base64 is used:
1. Invisible characters may be ignored during transmission, resulting in data abnormalities;
2. Some characters have special meanings (such as transfer characters), which may cause abnormal processing;
3. The plain text protocol needs to be used;
4. It may be used when encrypting;
The principle of base64 is not introduced here.
use
Use related codec operations by including base64:
import base64
You can view the content of the base64 module through help:
import base64
if __name__ == "__main__":
help(base64)
details as follows:
FUNCTIONS
b16decode(s, casefold=False)
Decode a Base16 encoded string.s is the string to decode. Optional casefold is a flag specifying whether
a lowercase alphabet is acceptable as input. For security purposes, the
default is False.The decoded string is returned. A TypeError is raised if s is
incorrectly padded or if there are non-alphabet characters present in the
string.b16encode(s)
Encode a string using Base16.s is the string to encode. The encoded string is returned.
b32decode(s, casefold=False, map01=None)
Decode a Base32 encoded string.s is the string to decode. Optional casefold is a flag specifying whether
a lowercase alphabet is acceptable as input. For security purposes, the
default is 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 map01 when not None,
specifies which letter the digit 1 should be mapped to (when map01 is not
None, the digit 0 is always mapped to the letter O). For security
purposes the default is None, so that 0 and 1 are not allowed in the
input.The decoded string is returned. A TypeError is raised if s were
incorrectly padded or if there are non-alphabet characters present in the
string.b32encode(s)
Encode a string using Base32.s is the string to encode. The encoded string is returned.
b64decode(s, altchars=None)
Decode a Base64 encoded string.s is the string to decode. Optional altchars must be a string of at least
length 2 (additional characters are ignored) which specifies the
alternative alphabet used instead of the '+' and '/' characters.The decoded string is returned. A TypeError is raised if s is
incorrectly padded. Characters that are neither in the normal base-64
alphabet nor the alternative alphabet are discarded prior to the padding
check.b64encode(s, altchars=None)
Encode a string using Base64.s is the string to encode. Optional altchars must be a string of at least
length 2 (additional characters are ignored) which specifies an
alternative alphabet for the '+' and '/' characters. This allows an
application to e.g. generate url or filesystem safe Base64 strings.The encoded string is returned.
decode(input, output)
Decode a file.decodestring(s)
Decode a string.encode(input, output)
Encode a file.encodestring(s)
Encode a string into multiple lines of base-64 data.standard_b64decode(s)
Decode a string encoded with the standard Base64 alphabet.Argument s is the string to decode. The decoded string is returned. A
TypeError is raised if the string is incorrectly padded. Characters that
are not in the standard alphabet are discarded prior to the padding
check.standard_b64encode(s)
Encode a string using the standard Base64 alphabet.s is the string to encode. The encoded string is returned.
urlsafe_b64decode(s)
Decode a string using the URL- and filesystem-safe Base64 alphabet.Argument s is the string to decode. The decoded string is returned. A
TypeError is raised if the string is incorrectly padded. Characters that
are not in the URL-safe base-64 alphabet, and are not a plus '+' or slash
'/', are discarded prior to the padding check.The alphabet uses '-' instead of '+' and '_' instead of '/'.
urlsafe_b64encode(s)
Encode a string using the URL- and filesystem-safe Base64 alphabet.Argument s is the string to encode. The encoded string is returned. The
alphabet uses '-' instead of '+' and '_' instead of '/'.
There are many functions, but they are inseparable from encoding and decoding. Here is just a simple example:
import base64
if __name__ == "__main__":
# help(base64)
str = "#@$#^*^%$*&^*^&%((&^)^&)(*&_) (*^&^$%^%#"
enc = base64.b64encode(str)
dec = base64.b64decode(enc)
print enc
print dec
Corresponding printing results:
I0AkI14qXiUkKiZeKl4mJSgoJl4pXiYpKComXykgICAgICgqXiZeJCVeJSM=
#@$#^*^%$*&^*^&%((&^)^&)(*&_) (*^&^$%^%#