base64 module provides functions for encoding and decoding data in the base64 format. The base64 format is commonly used for encoding binary data, such as images, audio files, and other types of data, into a text-based format that can be easily transmitted over the network or stored in a text file.
base64 module provides two main functions for encoding and decoding data:
b64encode() function takes a bytes-like object and returns the encoded data as a bytes object. The
b64decode() function takes a bytes-like object containing base64-encoded data and returns the decoded data as a bytes object.
Here is an example of using the
base64 module to encode and decode some data:
import base64 # some binary data data = b"hello world" # encode the data encoded_data = base64.b64encode(data) # decode the data decoded_data = base64.b64decode(encoded_data) # print the original and decoded data print(data) print(decoded_data)
In this example, the
base64.b64encode() function is used to encode the binary data “hello world” into a base64-encoded string. The
base64.b64decode() function is then used to decode the encoded string back into the original binary data. The original data and the decoded data are then printed to the screen.
base64 module also provides several additional functions for handling base64-encoded data, such as
decodebytes(), which are similar to
b64decode() but work with bytes objects instead of bytes-like objects. There are also functions for encoding and decoding data to and from strings, such as
Encode A Binary Image File
Here is an example of how to encode a binary image file into a Base64 string, and then decode the string back into the original binary data:
import base64 # Encode binary data to Base64 string with open("image.png", "rb") as image_file: encoded_string = base64.b64encode(image_file.read()) # Decode Base64 string to binary data decoded_bytes = base64.b64decode(encoded_string) with open("decoded_image.png", "wb") as image_file: image_file.write(decoded_bytes)
This code will read the binary data from the
image.png file, encode it into a Base64 string, and then write the encoded string to a file called
encoded_image.txt. It will then read the encoded string from that file, decode it back into binary data, and write the decoded data to a new file called
decoded_image.png. This new file should be identical to the original
If you want to use Base64 encoding in your own Python code, you can import the
base64 module and use the
b64decode functions to encode and decode data. For more information, you can check out the official Python documentation for the
base64 module. The
base64 module is included with the standard library in Python, so you don’t need to install anything to use it. You can simply import the
base64 module in your Python code and use its functions to encode and decode data.
Base64 Use Cases
There are many popular Python libraries that use Base64 encoding, including:
urllibmodule in the standard library, which uses Base64 to encode the data in URL query parameters.
jsonmodule in the standard library, which uses Base64 to encode binary data in JSON strings.
cryptographypackage, which uses Base64 to encode the results of cryptographic operations, such as digital signatures and message hashes.
These are just a few examples of popular Python libraries that use Base64 encoding. There are many others that use Base64 in various ways.