Hướng dẫn convert png to base64 python - chuyển đổi png sang base64 python

Trong Python3, base64.b64encode trả về một ví dụ bytes, vì vậy cần phải gọi decode để có được str, nếu bạn đang làm việc với văn bản Unicode.

# Image data from [Wikipedia][1]
>>>image_data = b'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x05\x00\x00\x00\x05\x08\x06\x00\x00\x00\x8do&\xe5\x00\x00\x00\x1cIDAT\x08\xd7c\xf8\xff\xff?\xc3\x7f\x06 \x05\xc3 \x12\x84\xd01\xf1\x82X\xcd\x04\x00\x0e\xf55\xcb\xd1\x8e\x0e\x1f\x00\x00\x00\x00IEND\xaeB`\x82'

# String representation of bytes object includes leading "b" and quotes,  
# making the uri invalid.
>>> encoded = base64.b64encode(image_data) # Creates a bytes object
>>> 'data:image/png;base64,{}'.format(encoded)
"data:image/png;base64,b'iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=='"


# Calling .decode() gets us the right representation
>>> encoded = base64.b64encode(image_data).decode('ascii')
>>> 'data:image/png;base64,{}'.format(encoded)
'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=='

Nếu bạn đang làm việc trực tiếp với bytes, bạn có thể sử dụng đầu ra của base64.b64encode mà không cần giải mã thêm.

>>> encoded = base64.b64encode(image_data)
>>> b'data:image/png;base64,' + encoded
b'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=='

Hướng dẫn convert png to base64 python - chuyển đổi png sang base64 python

Base64 Mã hóa cho phép chúng tôi chuyển đổi các byte chứa dữ liệu nhị phân hoặc văn bản thành các ký tự ASCII. Bằng cách mã hóa dữ liệu, chúng tôi cải thiện cơ hội được xử lý chính xác bởi các hệ thống khác nhau. Thật không may, một số hệ thống don lồng hiểu dữ liệu ở định dạng byte, vì vậy chúng tôi phải chuyển đổi dữ liệu.

Mục đích của phương thức Base64.b64encode () trong Python là chuyển đổi dữ liệu nhị phân thành văn bản ASCII-SAFE. Nhưng Python rất không đồng ý với điều đó. Python bây giờ rất nghiêm ngặt về điều này mà phương thức byte.encode () thậm chí không tồn tại, và vì vậy ‘xyz hè.encode (‘ base64,) sẽ nâng cao một thuộc tính.text”. But Python strongly disagrees with that. Python is now very strict about this that bytes.encode() method doesn’t even exist, and so ‘xyz’.encode(‘base64’) would raise an AttributeError.

Bây giờ, hãy để hiểu về mã hóa Base64.

Base64 mã hóa là gì?

Mã hóa Base64 là loại chuyển đổi byte thành các ký tự ASCII. Ví dụ, trong toán học, cơ sở của một hệ thống số cho biết có bao nhiêu ký tự khác nhau biểu thị số.

Tên của mã hóa Base64 xuất phát trực tiếp từ một định nghĩa toán học của các cơ sở: Chúng tôi có 64 ký tự đại diện cho các số.

Bộ ký tự Base64 chứa các phần sau.

  1. 26 chữ hoa
  2. 26 chữ cái chữ thường
  3. 10 số
  4. + và / cho các dòng mới

Khi một máy tính chuyển đổi các ký tự base64 thành nhị phân, mỗi ký tự base64 đại diện cho 6 bit thông tin.

Để chuyển đổi hình ảnh thành Base64String trong Python, hãy sử dụng mô -đun Python Base64 cung cấp phương thức B64encode (). Chức năng python base64.b64encode () mã hóa một chuỗi bằng base64 và trả về chuỗi đó.convert the Image to Base64 String in Python, use the Python base64 module that provides b64encode() method. Python base64.b64encode() function encodes a string using Base64 and returns that string.

Cú pháp

base64.b64encode(s[, altchars])

Thông số

Hàm lấy s làm đầu vào và là tham số cần thiết.s as an input and is the required parameter.

Các altchars tùy chọn phải là một chuỗi ít nhất độ dài 2 (các ký tự bổ sung bị bỏ qua), trong đó xác định bảng chữ cái thay thế cho + và / ký tự.altchars must be a string of at least length 2 (additional characters are ignored), which defines the alternative alphabet for the + and / characters.

Điều này cho phép một ứng dụng, ví dụ, tạo URL hoặc hệ thống tập tin Safe Base64 chuỗi. Mặc định là không có, trong đó bảng chữ cái Base64 tiêu chuẩn được sử dụng.None, for which a standard Base64 alphabet is used.

Giá trị trả về

Hàm b64encode () trả về chuỗi được mã hóa.

Ví dụ về chuyển đổi hình ảnh thành base64 trong Python

import base64

with open("grayimage.png", "rb") as img_file:
    b64_string = base64.b64encode(img_file.read())
print(b64_string)

Trong thư mục dự án của tôi, tôi có một hình ảnh gọi là & nbsp; grayimage.png. & Nbsp; vui lòng đảm bảo rằng đường dẫn hình ảnh của bạn là chính xác.grayimage.png. Please make sure that your image path is correct.

Trong ví dụ này, trước tiên chúng tôi đã mở tệp ở chế độ RB RB. Sau đó, chúng tôi đọc tệp hình ảnh.rb’ mode. Then we read the image file.

Python với hàm Open () mở một tệp, và sau đó chúng ta có thể thực hiện bất kỳ hoạt động nào chúng ta muốn. Nó tự động đóng tệp khi chúng tôi thắng được cần nó nữa.

Sau đó mã hóa nó bằng phương thức B64encode (). Bạn phải đọc một tệp hình ảnh trước khi bạn mã hóa nó.You must read an image file before you encode it.

Tôi đang nhận được chuỗi dài trong đầu ra trong thiết bị đầu cuối, như sau.

xrfaP11Zcs/PROUWCp7bOF7TZsPuAxAvWmY0EkyUZ+IF49r3aOEYbllIVB7mWkgXr88st9aZVx5+5jE+ihdEZZFSaVUmJZhGNmVQzOxX7mrT//r2OHpHoQEO+G55O0Hv+kfpBajTeivkc/WbnmWbY6n3T/zZ9TNwTzABCh5vgjOBdpHR4ygIiFXn+s3AHjobVWNQ5BHKVPFwOdFUoozxugdQNpc+CJTX2Vih83Z7xT3FEYNPpMMh/1ff0Ygx350gyQmqaBwfRCPzWcGHlMTDsYx3O2qwx9KNj8dHzcOCM9eGNMYJMDXVZ1veCs2TNawDhiVeUT04hoktMLlgnEK9n1oBMsGfdHK5rQ013Xn7Tjr7xOiv+EHHl2Mhy78TjVRliEQNR3lCxXiAw99GKqVwLW4VUzNWs7EVklYilBVaibIT519HHn1Da9NwpDEJj3YtS7QlqLtcHOLKH9OSgzN5yym/OP5TcR667/Hub1V/H89Rry0LVMN7yXFg+7kUid8u1ohpBD7cfa4UPbLYCGZRJS+dS6Xz4+//ap6f+mP53Pa1lUp/58GQH2dIKQ0aHTYDy+LA71dxBi/+yFOVQ76AIHqckWXrgP214WqvJVcxTB4MDKdT2khKF+v5IU9xja0HDTNye/sQ5xvn79XxvtLlCR88lzfDwi6iZj6I+bAkX7DdCznwJ/YH7Evq/b2FtcdXiUVWj10MP4zQO36+QlKc7giHVKfFhypPnyePuLDocQ9o+4bmakPoCFbbz0MT4t7Cg0AkdD29ReLFvgt6kJx34zDUxTMQuRNReLDyM4rbfYsmi7VnCZHLCHuBo0GPcWpp8TlV+9dzt0/503E75OPBtMw8fmSTnAhB/+mXbJV7sq4pRoiBUwQ+deHLveogF4KMDWKPhS3lLPSc2bJxZmn4+gG98yL0eMd9FVU7DZaWM5ASv5tifdfP/2opstI1N8PsSdQYFXc+o/wIB7Eemf89oBmy0eZLx07Wx3tV31Do7vCXTPWfq5KoeBEj96+ae9NGrnnn3bhE3+/r+mykBKrcDYBpMY4eFQDzvKT7tF5QZF02CDacTc5lHqk23K40fH6dK7HnQ+hWw8X/4/RiMehs7bRiTnZ/sfeRHMiB+XXnBIv/Izftgq0urkSsnX829z5Ekzcf6lUyP32TcyTg38BLqTsL/d/FtLw5IRMadrrYr99/p2Gs6rbGrGT/ikQnOhVNnLimbbxVLeFS8tdmjVOE0wcmkOvu5nF3/apPPxXgEapMdnaqiKGbilvzadZFg503N+Pjyf/UNvhu7oXayGXKPg/F/zbZ6b0Oelqt2f/bgOULOh4mSezS55a4pPLYdFCYi0sLtb3nwukE6J20uCqAfvretNh0+xyFpHt6j/+waFfxcDxzR1s4vY1DdGTn/GVld9rr2Udrf6pN4He6cMWQsw2Ow9fwzl6Og/tk7ZxVa/+h/+9z++2j73iJyXQ+ac+nJy7tinATA6yXOP9RTl8rJbTI/p69m3lsjWkqaTAXj49XV3zil73n4Y4pP6vjHdavM7+vk7MiwuGEZRtJa0KTQeu72y2EICg9k83B7KAcGB9CVAZf8iiK9mxee7P3Qao3L+r/p3DYiXJ8t/SqtghnnP0sZQvr+bUtJtDpo9TAJUELKS0Es3aPJ6nxVHuuwzt9pkynpqfqxcs4uncJBN0zcpMLrofEGBRWz2HNXO0J57woQfpXc1GHd1vTN4T2c8JtwBhjJC7pB7tn2MJ0/lpf+QWuCzMoUGMupPsAIj1x7y+ViO2aFxlP3qH+LLZJcv++B0kzYwmag38ljr9vudS2ZuKec3utBQ4E/PZLSRViNSnP3CSep/KhS1HWWKerK3xvL/Hzydrveh+QnLAAAAAElFTkSuQmCC'

Chuỗi của bạn đã được in. Nhưng ở vị trí bắt đầu của chuỗi base64 của bạn, có một bv.b’.

Hoặc bạn có thể nói chuỗi được mã hóa base64 của bạn nằm trong cặp trích dẫn đơn.

Để loại bỏ bv & nbsp; khỏi tiền tố của mã base64 trong python, bạn có thể sử dụng phương thức String.encode (‘UTF-8,).b’ from the prefix of base64 code in Python, you can use string.encode(‘utf-8’) method.

import base64

with open("grayimage.png", "rb") as img_file:
    b64_string = base64.b64encode(img_file.read())
print(b64_string.decode('utf-8'))

Đó là nó.

Xem thêm

Hình ảnh Python Pil để Grayscale

Hình ảnh python pil đến mảng numpy

Cách cắt một hình ảnh trong Python

Cách thay đổi kích thước một hình ảnh trong Python

Làm cách nào để chuyển đổi PNG thành Base64 trong Python?

Chuyển đổi hình ảnh thành chuỗi..
Ở đây trước tiên, chúng tôi nhập phương thức Base Base64 để mã hóa hình ảnh đã cho ..
Tiếp theo, chúng tôi đã mở tệp hình ảnh của mình ở chế độ RB được đọc ở chế độ nhị phân ..
Chúng tôi đọc hình ảnh của chúng tôi với Image2.read () đọc hình ảnh và mã hóa nó bằng b64encode () Đó là phương thức được sử dụng để mã hóa dữ liệu thành base64 ..

Làm cách nào để chuyển đổi PNG thành Base64?

Để chuyển đổi PNG thành dữ liệu Base64: Nhấp vào "Chọn Tệp" và tải lên hình ảnh PNG từ hệ thống của bạn.Nhấp vào nút "Chuyển đổi" để chuyển đổi hình ảnh PNG thành dữ liệu cơ sở 64.Bạn có thể "tải xuống hoặc sao chép" mã cơ sở 64 để sử dụng tiếp.Click on "Choose file" and upload the PNG image from your system. Click on the "Convert" button to convert the PNG image into base 64 data. You can "Download or Copy" the base 64 code for further use.

Làm cách nào để chuyển đổi hình ảnh thành Base64 trong Python?

Để chuyển đổi hình ảnh thành chuỗi Base64 trong Python, hãy sử dụng mô -đun Python Base64 cung cấp phương thức B64encode ().Python cơ sở64.Hàm b64encode () mã hóa một chuỗi bằng base64 và trả về chuỗi đó.use the Python base64 module that provides b64encode() method. Python base64. b64encode() function encodes a string using Base64 and returns that string.

Làm cách nào để chuyển đổi hình ảnh thành base64?

Để giải mã một hình ảnh từ chuỗi được mã hóa base64, hãy thực hiện các bước sau ...
Mở Base64 để chuyển đổi hình ảnh ..
Nhập chuỗi mã hóa Base64 ..
Chọn loại hình ảnh.....
Sau khi chọn loại hình ảnh, nhấp vào nút "Tạo hình ảnh" ..
Công cụ giải mã chuỗi được mã hóa base64 và hiển thị hình ảnh ..