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

Chuyển vào một tệp văn bản có một hình ảnh base64 trên mỗi dòng. Điều này sẽ viết ra một chuỗi các hình ảnh, như image0001.png, image0002.png,

import fileinput
import base64

for index, line in enumerate(fileinput.input(), 1):
  if line.startswith('data:image/png;base64,'):
    with open('image{0:04}.png'.format(index), 'wb') as png:
       line = line.strip()
       png.write(base64.b64decode(line[22:] + '===='))

Lưu cái này vào một tệp như decode.py, sau đó chạy nó với

python3 decode.py input.txt

Nếu tệp đầu vào của bạn là CSV có một cột, thì đó cũng là tệp văn bản, vì vậy bạn có thể sử dụng tệp đó trực tiếp (mặc dù CSV có thể có trích dẫn mà bạn cần phải cắt bỏ). Nếu bạn thực sự phải chấp nhận đầu vào trong một bảng tính Excel phù hợp, thì việc xuất bảng tính đó sang CSV là một quy trình thủ công, đây là một lý do chính đáng để tránh Excel nếu bạn có thể

Dựa trên nhận xét của bạn, đây là một nỗ lực để sử dụng mô-đun xlrd để đọc Excel trực tiếp, nhưng tôi (rất may) không có gì để kiểm tra nó

import base64
import xlrd

workbook = xlrd.open_workbook("images.xlsx")
worksheet = workbook.sheet_by_name("Sheet1")

for idx in range(1, worksheet.nrows+1):
    excel_data = worksheet.cell(idx-1,0).value
    if excel_data.startswith('data:image/png;base64,'):
        with open('image{0:04}.png'.format(idx), 'wb') as png:
            png.write(base64.b64decode(excel_data.strip()[22:] + '===='))

Nỗ lực của bạn đang sử dụng dữ liệu base64 excel_data thay vì chỉ mục trong đối số thành open chỉ định tên tệp.

python3 decode.py input.txt
0 chạy từ 1 đến số của hàng dữ liệu cuối cùng

phụ lục. Một số dữ liệu dường như bị sai. Tôi đã cố gắng trích xuất ảnh của bạn bằng cách hack sau, nhưng tôi không chắc liệu nó có thực sự tạo ra đầu ra chính xác hay không - cách này có vẻ hiệu quả với những hình ảnh tôi đã thử, nhưng nó có thể gây ra lỗi vì tôi chỉ đơn giản là bỏ ký tự base64 cuối cùng

Nó có thể được kiểm tra, chọn một ô từ cột "B. B", trong đó một chuỗi được mã hóa đã được trả về bởi mã trước đó và chạy thử nghiệm tiếp theo Sub

Sub testDecodeBase64()
  Debug.Print StrConv(DecodeBase64(ActiveCell.Value), vbUnicode)
End Sub

Nếu việc tạo tham chiếu có vẻ phức tạp, vui lòng trước khi chạy mã trên, hãy chạy mã tiếp theo để tạo tự động

Base64 là một thuật ngữ chung cho một số sơ đồ mã hóa tương tự mã hóa dữ liệu nhị phân bằng cách xử lý dữ liệu đó bằng số và dịch nó thành biểu diễn cơ sở 64. Thuật ngữ Base64 bắt nguồn từ mã hóa chuyển nội dung MIME cụ thể

Giải mã Base64 thành tệp bằng bộ giải mã trực tuyến miễn phí, cho phép bạn xem trước các tệp trực tiếp trong trình duyệt, cũng như tải chúng xuống, lấy kết xuất hex cho bất kỳ dữ liệu nhị phân nào và nhận thông tin tóm tắt về tệp gốc. Xin lưu ý rằng bản xem trước chỉ khả dụng cho các giá trị văn bản và các tệp phương tiện đã biết như hình ảnh, âm thanh và video. Trong mọi trường hợp, bạn luôn có thể chuyển đổi Base64 thành nhị phân và tải xuống kết quả dưới dạng tệp, bất kể loại MIME của nó. Nếu bạn đang tìm quy trình ngược lại, hãy kiểm tra File to Base64

Cơ sở64*
Giải mã Base64 thành tệp
Xem trước

Kết quả giải mã Base64 sẽ hiện ra tại đây


Cách chuyển đổi Base64 thành tệp

  1. Dán chuỗi của bạn vào trường “Base64”
  2. Nhấn nút “Giải mã Base64 thành tệp”
  3. Nhấp vào liên kết tên tệp để tải xuống tệp

Các tính năng của bộ giải mã là gì

Sau khi giải mã chuỗi Base64, bạn sẽ có thể

  • Xem trước tệp (ví dụ: bạn sẽ thấy trình phát hình ảnh hoặc video)
  • Tải xuống tệp bằng cách nhấp vào liên kết đặc biệt
  • Đọc thông tin về tệp gốc (chẳng hạn như loại MIME, phần mở rộng, kích thước)
  • Phân tích kết xuất hex của tệp

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

Đầu vào (Base64) - Dán Base64 của bạn vào đây. Tải lên Tải xuống Chuyển đổi Sao chép vào Clipboard là Tự động. Đầu ra (CSV) - CSV đã chuyển đổi. .
Dán đầu vào Base64 của bạn vào hộp nhập liệu bên trái và nó sẽ tự động chuyển đổi nó thành CSV
Đầu ra CSV là hộp bên phải

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

Cách chuyển đổi Base64 thành tệp .
Dán chuỗi của bạn vào trường “Base64”
Nhấn nút “Giải mã Base64 thành tệp”
Nhấp vào liên kết tên tệp để tải xuống tệp

Làm cách nào để giải mã tệp 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 bằng cờ --decode . Đối với 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 thiết bị xuất chuẩn trực tiếp vào một tệp.

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

Phương thức ToBase64String. Bây giờ để lưu chuỗi được mã hóa Base64 dưới dạng Tệp hình ảnh, chuỗi được mã hóa Base64 được chuyển đổi trở lại Mảng Byte bằng cách sử dụng Chuyển đổi. Hàm FromBase64String . Cuối cùng Mảng Byte được lưu vào Thư mục trên Đĩa dưới dạng Tệp bằng phương thức WriteAllBytes của lớp Tệp.