Chuyển đổi hình ảnh sang base64 Python
Mô-đun này cung cấp các chức năng để mã hóa dữ liệu nhị phân thành các ký tự ASCII có thể in được và giải mã các mã hóa đó trở lại dữ liệu nhị phân. Nó cung cấp các chức năng mã hóa và giải mã cho các mã hóa được chỉ định trong RFC 4648, định nghĩa các thuật toán Base16, Base32 và Base64 cũng như cho các mã hóa Ascii85 và Base85 tiêu chuẩn thực tế Mã hóa RFC 4648 phù hợp để mã hóa dữ liệu nhị phân để có thể gửi qua email một cách an toàn, được sử dụng như một phần của URL hoặc được đưa vào như một phần của yêu cầu HTTP POST. Thuật toán mã hóa không giống với chương trình uuencode Có hai giao diện được cung cấp bởi mô-đun này. Giao diện hiện đại hỗ trợ mã hóa thành ASCII và giải mã hoặc chuỗi chứa ASCII thành. Cả hai bảng chữ cái cơ sở 64 được xác định trong RFC 4648 (bình thường và an toàn cho URL và hệ thống tệp) đều được hỗ trợ Giao diện kế thừa không hỗ trợ giải mã từ các chuỗi, nhưng nó cung cấp các chức năng để mã hóa và giải mã đến và từ. Nó chỉ hỗ trợ bảng chữ cái tiêu chuẩn Base64 và nó thêm dòng mới cứ sau 76 ký tự theo RFC 2045. Lưu ý rằng nếu bạn đang tìm kiếm hỗ trợ RFC 2045, bạn có thể muốn xem gói thay thế Đã thay đổi trong phiên bản 3. 3. Các chuỗi Unicode chỉ ASCII hiện được các chức năng giải mã của giao diện hiện đại chấp nhận. Đã thay đổi trong phiên bản 3. 4. Mọi hàm hiện được chấp nhận bởi tất cả các chức năng mã hóa và giải mã trong mô-đun này. Đã thêm hỗ trợ Ascii85/Base85. Giao diện hiện đại cung cấp base64. b64encode(s , altchars=Không có)Mã hóa s bằng Base64 và trả về mã hóa Các bảng thay thế tùy chọn phải có độ dài 2 chỉ định bảng chữ cái thay thế cho các ký tự Có thể khẳng định hoặc tăng a nếu độ dài của các altchars không phải là 2. Tăng một nếu altchars không phải là một base64. b64decode(s , altchars=Không có , xác thực=Sai)Giải mã chuỗi mã hóa Base64 hoặc chuỗi ASCII và trả lại chuỗi đã giải mã Các bảng thay thế tùy chọn phải là một hoặc chuỗi ASCII có độ dài 2 chỉ định bảng chữ cái thay thế được sử dụng thay cho các ký tự Một ngoại lệ được đưa ra nếu s được đệm không chính xác Nếu xác thực là Để biết thêm thông tin về kiểm tra base64 nghiêm ngặt, hãy xem Có thể khẳng định hoặc tăng a nếu độ dài của các altchars không phải là 2 Mã hóa s bằng bảng chữ cái Base64 tiêu chuẩn và trả về mã hóa base64. standard_b64decode(s)Giải mã hoặc chuỗi ASCII s bằng cách sử dụng bảng chữ cái Base64 tiêu chuẩn và trả về giải mã base64. urlsafe_b64encode(s)Mã hóa s bằng cách sử dụng bảng chữ cái an toàn cho hệ thống tệp và URL, thay thế cho Giải mã hoặc chuỗi ASCII s bằng cách sử dụng bảng chữ cái an toàn cho hệ thống tệp và URL, thay thế cho Mã hóa s bằng Base32 và trả về mã hóa base64. b32decode(s , casefold=Sai , map01=Không có)Giải mã chuỗi mã hóa Base32 hoặc chuỗi ASCII và trả lại chuỗi đã giải mã casefold tùy chọn là cờ chỉ định liệu bảng chữ cái viết thường có được chấp nhận làm đầu vào hay không. Vì mục đích bảo mật, mặc định là RFC 4648 cho phép ánh xạ tùy chọn chữ số 0 (không) thành chữ O (oh) và ánh xạ tùy chọn của chữ số 1 (một) thành chữ I (mắt) hoặc chữ L (el). Đối số tùy chọn map01 khi không phải là A được nâng lên nếu s được đệm không chính xác hoặc nếu có các ký tự không phải bảng chữ cái có trong đầu vào base64. b32hexencode(s)Tương tự nhưng sử dụng Bảng chữ cái Hex Mở rộng, như được định nghĩa trong RFC 4648 Mới trong phiên bản 3. 10 base64. b32hexdecode(s , casefold=Sai)Tương tự nhưng sử dụng Bảng chữ cái Hex Mở rộng, như được định nghĩa trong RFC 4648 Phiên bản này không cho phép ánh xạ chữ số 0 (không) với chữ O (oh) và chữ số 1 (một) với chữ I (mắt) hoặc chữ L (el), tất cả các ký tự này được bao gồm trong Bảng chữ cái Hex mở rộng Mới trong phiên bản 3. 10 base64. b16encode(s)Mã hóa s bằng Base16 và trả về mã hóa base64. b16decode(s , casefold=Sai)Giải mã chuỗi mã hóa Base16 hoặc chuỗi ASCII và trả lại chuỗi đã giải mã casefold tùy chọn là cờ chỉ định liệu bảng chữ cái viết thường có được chấp nhận làm đầu vào hay không. Vì mục đích bảo mật, mặc định là A được nâng lên nếu s được đệm không chính xác hoặc nếu có các ký tự không phải bảng chữ cái có trong đầu vào base64. a85encode(b , * , foldspaces=False , wrapcol=0 , pad=Sai , adobe=Sai)Mã hóa b bằng Ascii85 và trả về mã hóa foldspaces là cờ tùy chọn sử dụng chuỗi ngắn đặc biệt 'y' thay vì 4 dấu cách liên tiếp (ASCII 0x20) như được hỗ trợ bởi 'btoa'. Tính năng này không được mã hóa Ascii85 “tiêu chuẩn” hỗ trợ wrapcol kiểm soát xem đầu ra có nên thêm ký tự dòng mới ( pad kiểm soát xem đầu vào có được đệm thành bội số của 4 trước khi mã hóa hay không. Lưu ý rằng việc triển khai adobe kiểm soát xem chuỗi byte được mã hóa có được đóng khung bằng Mới trong phiên bản 3. 4 base64. a85decode(b , * , không gian nếp gấp=Sai , adobe=Sai , ignorechars=b' \t\n\r\x0b')Giải mã chuỗi b được mã hóa Ascii85 hoặc chuỗi ASCII và trả lại chuỗi đã giải mã foldspaces là một cờ chỉ định liệu chuỗi ngắn 'y' có được chấp nhận làm tốc ký cho 4 khoảng trắng liên tiếp hay không (ASCII 0x20). Tính năng này không được mã hóa Ascii85 “tiêu chuẩn” hỗ trợ adobe controls whether the input sequence is in Adobe Ascii85 format (i.e. is framed with <~ and ~>). ký tự bỏ qua phải là một hoặc chuỗi ASCII chứa các ký tự để bỏ qua từ đầu vào. Điều này chỉ nên chứa các ký tự khoảng trắng và theo mặc định chứa tất cả các ký tự khoảng trắng trong ASCII Mới trong phiên bản 3. 4 base64. b85encode(b , pad=Sai)Mã hóa b bằng base85 (như được sử dụng trong e. g. khác biệt nhị phân kiểu git) và trả về mã hóa Nếu pad là true, đầu vào được đệm bằng Mới trong phiên bản 3. 4 base64. b85decode(b)Giải mã chuỗi b được mã hóa base85 hoặc chuỗi ASCII và trả lại chuỗi đã giải mã. Phần đệm được loại bỏ hoàn toàn, nếu cần Mới trong phiên bản 3. 4 Giao diện kế thừa base64. giải mã(đầu vào , đầu ra)Giải mã nội dung của tệp đầu vào nhị phân và ghi dữ liệu nhị phân kết quả vào tệp đầu ra. đầu vào và đầu ra phải được. đầu vào sẽ được đọc cho đến khi Giải mã s, phải chứa một hoặc nhiều dòng dữ liệu được mã hóa base64 và trả về giải mã Mới trong phiên bản 3. 1 base64. mã hóa(đầu vào , đầu ra)Mã hóa nội dung của tệp đầu vào nhị phân và ghi dữ liệu được mã hóa base64 vào tệp đầu ra. đầu vào và đầu ra phải được. đầu vào sẽ được đọc cho đến khi Mã hóa s, có thể chứa dữ liệu nhị phân tùy ý và trả về chứa dữ liệu được mã hóa base64, với các dòng mới (_______22_______7) được chèn sau mỗi 76 byte đầu ra và đảm bảo rằng có một dòng mới ở cuối, theo RFC 2045 (MIME) Mới trong phiên bản 3. 1 Một ví dụ sử dụng mô-đun >>> import base64 >>> encoded = base64.b64encode(b'data to be encoded') >>> encoded b'ZGF0YSB0byBiZSBlbmNvZGVk' >>> data = base64.b64decode(encoded) >>> data b'data to be encoded' Cân nhắc về Bảo mậtPhần xem xét bảo mật mới đã được thêm vào RFC 4648 (phần 12); |