Hướng dẫn data image png base64 python - dữ liệu hình ảnh png base64 python

Tôi đang cố gắng lưu một hình ảnh với Python được mã hóa base64. Ở đây chuỗi lớn để đăng nhưng đây là hình ảnh

Và khi nhận được bởi Python, 2 ký tự cuối cùng là

imgdata = base64.b64decode[data]
    filename = 'some_image.jpg'  # I assume you have a way of picking unique filenames
    with open[filename, 'wb'] as f:
            f.write[imgdata]
2 mặc dù chuỗi không được định dạng nên tôi làm điều này

import base64
data = "data:image/png;base64," + photo_base64.replace[" ", "+"]

Và sau đó tôi làm điều này

imgdata = base64.b64decode[data]
    filename = 'some_image.jpg'  # I assume you have a way of picking unique filenames
    with open[filename, 'wb'] as f:
            f.write[imgdata]

Nhưng điều này gây ra lỗi này

Traceback [most recent call last]:
  File "/var/www/cgi-bin/save_info.py", line 83, in <module>
    imgdata = base64.b64decode[data]
  File "/usr/lib64/python2.7/base64.py", line 76, in b64decode
    raise TypeError[msg]
TypeError: Incorrect padding

Tôi cũng đã in ra chiều dài của chuỗi một khi

imgdata = base64.b64decode[data]
    filename = 'some_image.jpg'  # I assume you have a way of picking unique filenames
    with open[filename, 'wb'] as f:
            f.write[imgdata]
3 đã được thêm vào và
imgdata = base64.b64decode[data]
    filename = 'some_image.jpg'  # I assume you have a way of picking unique filenames
    with open[filename, 'wb'] as f:
            f.write[imgdata]
4 thay thế bằng
imgdata = base64.b64decode[data]
    filename = 'some_image.jpg'  # I assume you have a way of picking unique filenames
    with open[filename, 'wb'] as f:
            f.write[imgdata]
5 và nó có độ dài
imgdata = base64.b64decode[data]
    filename = 'some_image.jpg'  # I assume you have a way of picking unique filenames
    with open[filename, 'wb'] as f:
            f.write[imgdata]
6, tôi đã thử một loạt các hình ảnh khác nhau nhưng tất cả chúng khi tôi cố gắng mở tệp đã lưu nói rằng tập tin bị hỏng.

Điều gì đang xảy ra và tại sao tệp bị hỏng?

Cảm ơn

CHỈNH SỬA

Đây là một số cơ sở64 cũng thất bại

iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADBQTFRFA6b1q Ci5/f2lt/9yu3 Y8v2cMpb1/DSJbz5i9R2NLwfLrWbw m T8I8////////SvMAbAAAABB0Uk5T////////////////////AOAjXRkAAACYSURBVHjaLI8JDgMgCAQ5BVG3//9t0XYTE2Y5BPq0IGpwtxtTP4G5IFNMnmEKuCopPKUN8VTNpEylNgmCxjZa2c1kafpHSvMkX6sWe7PTkwRX1dY7gdyMRHZdZ98CF6NZT2ecMVaL9tmzTtMYcwbP y3XeTgZkF5s1OSHwRzo1fkILgWC5R0X4BHYu7t/136wO71DbvwVYADUkQegpokSjwAAAABJRU5ErkJggg==

Đây là những gì tôi nhận được trong tập lệnh Python của mình từ yêu cầu bài đăng

Lưu ý rằng tôi đã không thay thế các khoảng trống bằng +'s

Bạn đã làm gì?

Có một cuộc gọi API, gửi hình ảnh bằng chuỗi Base64 đến gối và lưu nó.

Bạn mong đợi điều gì sẽ xảy ra?

lưu giữ thành công

Điều gì thực sự đã xảy ra?

Các hình ảnh đã lưu trống, kích thước là 2K; Nếu tôi kiểm tra với chuỗi base64 ở hàm kết thúc phía sau, hình ảnh sẽ được lưu mà không có lỗi và kích thước là 400k hoặc hơn.
if I test with the base64 string on back end function, the picture is saved without error, and size is 400k or so.

Phiên bản hệ điều hành, python và gối của bạn là gì?

  • HĐH: Windows 10
  • Python: Python 2.7.11
  • Gối: 5.3.0

Vui lòng bao gồm mã tái tạo vấn đề và bất cứ khi nào có thể, một hình ảnh thể hiện vấn đề. Vui lòng tải hình ảnh lên GitHub, không phải vào các trang web lưu trữ tệp của bên thứ ba. Nếu cần thiết, thêm hình ảnh vào kho lưu trữ zip hoặc tar.code that reproduces the issue and whenever possible, an image that demonstrates the issue. Please upload images to GitHub, not to third-party file hosting sites. If necessary, add the image to a zip or tar archive.

Các bản sao tốt nhất là các kịch bản khép kín với các phụ thuộc tối thiểu. Nếu bạn đang sử dụng một khung như Plone, Django hoặc Buildout, hãy cố gắng tái tạo vấn đề chỉ bằng gối.

def getI420FromBase64[codec, image_path="c:\\"]:
    # get codec from http
    # codec = codec.encode[]
    base64_data = re.sub['^data:image/.+;base64,', '', codec]
    byte_data = base64.b64decode[base64_data]
    image_data = BytesIO[byte_data]
    img = Image.open[image_data]
    t = time.time[]
    img.save[image_path + str[t] + '.png', "PNG"]

codec là một cái gì đó giống như

imgdata = base64.b64decode[data]
    filename = 'some_image.jpg'  # I assume you have a way of picking unique filenames
    with open[filename, 'wb'] as f:
            f.write[imgdata]
7

Chuyển đổi Base64 thành hình ảnh Python với các ví dụ mã

Với bài viết này, chúng tôi sẽ kiểm tra một số trường hợp khác nhau về cách giải quyết vấn đề Python Base64 sang Image Python.

import base64
image = open['deer.gif', 'rb']
image_read = image.read[]
image_64_encode = base64.encodestring[image_read]
image_64_decode = base64.decodestring[image_64_encode] 
image_result = open['deer_decode.gif', 'wb'] # create a writable image and write the decoding result
image_result.write[image_64_decode]

Vấn đề giống hệt nhau Chuyển đổi Base64 thành Python hình ảnh có thể được giải quyết bằng cách sử dụng một chiến lược khác, được mô tả trong phần bên dưới với các mẫu mã.

# For both Python 2.7 and Python 3.x
import base64
with open["imageToSave.png", "wb"] as fh:
    fh.write[base64.decodebytes[img_data]]
# For both Python 2.7 and Python 3.x
import base64
with open["imageToSave.png", "wb"] as fh:
    fh.write[base64.decodebytes[img_data]]
# For both Python 2.7 and Python 3.x
import base64
with open["imageToSave.png", "wb"] as fh:
    fh.write[base64.decodebytes[img_data]]
# For both Python 2.7 and Python 3.x
import base64
with open["imageToSave.png", "wb"] as fh:
    fh.write[base64.decodebytes[img_data]]
# For both Python 2.7 and Python 3.x
import base64
with open["imageToSave.png", "wb"] as fh:
    fh.write[base64.decodebytes[img_data]]
# For both Python 2.7 and Python 3.x
import base64
with open["imageToSave.png", "wb"] as fh:
    fh.write[base64.decodebytes[img_data]]

Nhiều ví dụ trong thế giới thực minh họa cách đối phó với vấn đề chuyển đổi cơ sở64 sang vấn đề Python hình ảnh.

Làm cách nào để có được một hình ảnh từ Base64 trong Python?

Chuyển đổi chuỗi thành hình ảnh

  • Đầu tiên chúng tôi nhập base64.
  • Lưu trữ dữ liệu được đọc từ tệp vào một biến.
  • Sau đó, chỉ cần đặt bất kỳ tên tệp hình ảnh nào [ví dụ: MyImage.png,] và mở nó trong chế độ WB ghi bằng nhị phân.
  • Giải mã nhị phân bằng b64.decode [] sau đó đóng tệp bằng .close []

Làm cách nào để chuyển đổi Base64 sang JPEG?

Chuyển đổi Base64 sang JPG trực tuyến bằng công cụ giải mã miễn phí cho phép bạn giải mã Base64 dưới dạng hình ảnh JPG và xem trước trực tiếp trong trình duyệt.

  • Dán chuỗi của bạn vào trường Base Base64.
  • Nhấn nút Decode Base64 đến JPG.
  • Nhấp vào liên kết tên tệp để tải xuống hình ảnh JPG.

Làm cách nào để chuyển đổi văn bản thành một hình ảnh trong Python?

Cách chuyển đổi văn bản thành hình ảnh

  • Cài đặt 'Aspose. Từ cho Python qua. MẠNG LƯỚI'.
  • Thêm một tham chiếu thư viện [nhập thư viện] vào dự án Python của bạn.
  • Mở tệp văn bản nguồn trong Python.
  • Gọi phương thức 'Lưu []', chuyển tên tệp đầu ra với phần mở rộng hình ảnh.
  • Nhận kết quả chuyển đổi văn bản làm hình ảnh.

Base64 to Image là gì?

Mã hóa Base64 là một cách để mã hóa dữ liệu nhị phân trong văn bản ASCII. Nó chủ yếu được sử dụng để lưu trữ hoặc chuyển hình ảnh, tệp âm thanh và phương tiện trực tuyến khác. Nó cũng thường được sử dụng khi có những hạn chế về các ký tự có thể được sử dụng trong tên tệp vì nhiều lý do khác nhau.25-FEB-2022

Làm cách nào để chuyển đổi Base64 sang JPEG trong Python?

Mã để chuyển đổi chuỗi base64 thành hình ảnh trong python

  • Đầu tiên, chúng tôi nhập mô -đun Base64.
  • Sau đó mở tệp chứa dữ liệu chuỗi cơ sở64 cho một hình ảnh.
  • Chúng tôi lấy dữ liệu nhị phân và lưu trữ nó trong một biến.
  • Chúng tôi giải mã dữ liệu chuỗi base64 bằng hàm b64decode [] của mô -đun base64.
  • Chúng tôi tạo một tệp có tên hình ảnh.

Làm cách nào để giải mã base64 trong python?

Base64 Giải mã một hình ảnh để giải mã một hình ảnh bằng Python, chúng tôi chỉ cần sử dụng base64. Hàm B64Decode [S]. Python đề cập đến những điều sau đây liên quan đến hàm này: Giải mã base64 được mã hóa đối tượng byte hoặc chuỗi ASCII S và trả về các byte được giải mã.22-Mar-2016

Làm thế nào để tôi giải mã base64?

Để giải mã một tệp có nội dung được mã hóa base64, bạn chỉ cần cung cấp đường dẫn của tệp với cờ Cũng như các tệp mã hóa, đầu ra sẽ là một chuỗi rất dài của tệp gốc. Bạn có thể muốn xuất trực tiếp stdout vào tệp.01-sept-2020

Base64 Image có nhanh hơn không?

Mặc dù Base64 là một cách tương đối hiệu quả để mã hóa dữ liệu nhị phân, trung bình vẫn sẽ tăng kích thước tệp cho hơn 25%. Điều này không chỉ tăng hóa đơn băng thông của bạn mà còn tăng thời gian tải xuống.17-Mar-2019

Làm cách nào để nhận dữ liệu hình ảnh Base64?

Cách chuyển đổi hình ảnh thành Base64 trực tuyến

  • Chọn nguồn hình ảnh từ trường Data DataType.
  • Dán URL hoặc chọn hình ảnh từ máy tính của bạn.
  • Nếu cần thiết, chọn định dạng đầu ra mong muốn.
  • Nhấn nút Imcode Encode Impode sang Base64.
  • Tải xuống hoặc sao chép kết quả từ trường Base Base64.

Làm thế nào để bạn tạo một hình ảnh trong Python?

Phương thức mới [] tạo ra một hình ảnh mới với chế độ và kích thước đã cho. Kích thước được đưa ra dưới dạng [chiều rộng, chiều cao] -tuple, tính bằng pixel. Màu sắc được đưa ra dưới dạng một giá trị duy nhất cho hình ảnh đơn và một bộ cho hình ảnh đa băng tần [với một giá trị cho mỗi băng tần] .30-Jun-2021

Dữ liệu là gì: Hình ảnh PNG Base64?

Dữ liệu: Hình ảnh/PNG; Base64 nói với trình duyệt rằng dữ liệu là nội tuyến, là hình ảnh PNG và trong trường hợp này là base64 được mã hóa. Việc mã hóa là cần thiết vì hình ảnh PNG có thể chứa các byte không hợp lệ bên trong tài liệu HTML [hoặc trong giao thức HTTP thậm chí].tells the browser that the data is inline, is a png image and is in this case base64 encoded. The encoding is needed because png images can contain bytes that are invalid inside a HTML document [or within the HTTP protocol even].

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 để hiển thị một hình ảnh trong Base64 trong Python?

Làm thế nào để tôi có được một hình ảnh từ Base64 trong Python ?..
Đầu tiên chúng tôi nhập base64 ..
Lưu trữ dữ liệu được đọc từ tệp vào một biến ..
Sau đó, chỉ cần đặt bất kỳ tên tệp hình ảnh nào [ví dụ: MyImage.
Giải mã nhị phân bằng b64.decode [] sau đó đóng tệp bằng .close [].

PNG có thể là cơ sở64?

Để chuyển đổi PNG sang 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. Bấm 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.

Bài Viết Liên Quan

Chủ Đề