Thông báo: Download 4 khóa học Python từ cơ bản đến nâng cao tại đây.
Mô-đun base64 trong Python
Giới thiệu về Base64 trong Python
Mô-đun base64 cung cấp các hàm hỗ trợ mã hóa văn bản hoặc dữ liệu nhị phân thành định dạng base64 và giải mã từ base64 về dữ liệu văn bản hoặc nhị phân. Base64 thường được sử dụng khi cần truyền dữ liệu nhị phân qua các giao thức chỉ hỗ trợ văn bản như email hoặc JSON.
Mã hóa Base64
Hàm b64encode()
trong mô-đun base64 giúp mã hóa một đối tượng kiểu byte bằng định dạng Base64 và trả về kết quả dưới dạng byte. Hãy xem cách sử dụng hàm này qua ví dụ sau:
Lưu ý: Khi bắt đầu với chuỗi văn bản (string), chúng ta cần chuyển đổi sang kiểu byte bằng phương thức encode()
, sau đó có thể chuyển ngược lại về chuỗi bằng decode()
. Phần này sẽ giúp bạn hiểu rõ hơn về sự khác biệt giữa đối tượng kiểu byte và chuỗi trong Python.
Bài viết này được đăng tại [free tuts .net]
import base64 data = "Python is a programming language" data_bytes = data.encode('ascii') base64_bytes = base64.b64encode(data_bytes) base64_string = base64_bytes.decode('ascii') print("Dữ liệu đã mã hóa: ", base64_string)
Kết quả:
Dữ liệu đã mã hóa: UHl0aG9uIGlzIGEgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2U=
Trong ví dụ trên, đầu tiên chúng ta chuyển chuỗi đầu vào thành đối tượng kiểu byte, sau đó mã hóa đối tượng byte này sang định dạng base64.
Giải mã Base64
Giải mã một chuỗi base64 là quá trình ngược lại với mã hóa. Hàm b64decode()
trong mô-đun base64 cho phép giải mã một đối tượng kiểu byte hoặc chuỗi ASCII đã mã hóa base64, trả về dữ liệu gốc dưới dạng byte. Dưới đây là ví dụ:
import base64 base64_string = "UHl0aG9uIGlzIGEgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2U=" base64_bytes = base64_string.encode('ascii') data_bytes = base64.b64decode(base64_bytes) data = data_bytes.decode('ascii') print("Dữ liệu sau khi giải mã:", data)
Kết quả:
Dữ liệu sau khi giải mã: Python is a programming language
Trong ví dụ trên, chúng ta chuyển chuỗi base64 thành dữ liệu byte không mã hóa, sau đó giải mã dữ liệu byte này để khôi phục lại chuỗi ban đầu.
Lưu ý: Để tránh hỏng dữ liệu, hãy đảm bảo sử dụng cùng một định dạng mã hóa khi chuyển đổi từ chuỗi sang byte và ngược lại.
Kết bài
Qua bài viết này, bạn đã hiểu các khái niệm cơ bản về mã hóa và giải mã base64 trong Python. Đây là một kỹ thuật quan trọng trong các ứng dụng yêu cầu truyền dữ liệu an toàn và hiệu quả qua mạng. Để tìm hiểu sâu hơn, bạn có thể truy cập tài liệu chính thức của mô-đun base64 trên trang tài liệu Python.