возможно что-то вдоль этих линий:
from __future__ import print_function
import base64
import binascii
import os
def base64_encode_file(filename):
filetype = os.path.splitext(filename)[1][1:] # remove leading '.' from ext
with open(filename) as file:
data = file.read()
return base64.b64encode(','.join((filename, filetype, data))), data
filename = 'C:/Users/martin/Desktop/img.PNG'
#filename = '/Users/user/Desktop/img.PNG'
encoded, data = base64_encode_file(filename)
print('encoded: {} (hex file data: {})'.format(encoded, binascii.hexlify(data)))
decoded = base64.b64decode(encoded).split(',', 2)
print('decoded:', decoded[0], decoded[1], binascii.hexlify(decoded[2]))
Выход:
encoded: QzovVXNlcnMvbWFydGluL0Rlc2t0b3AvaW1nLlBORyxQTkcsiVBORwo=
(hex file data: 89504e470a)
decoded: C:/Users/martin/Desktop/img.PNG PNG 89504e470a
Вы должны быть более конкретными. Как вы ожидаете, что мы узнаем, какая именно информация вам нужна, не говоря уже о том, как ее представлять. Мы не знаем, что вы делаете с строкой base64 ... –
@TomDalton благодарит за отзыв. Пользователь передает нам строку base64, и мы загружаем этот файл, чтобы пользователь мог загрузить его с URL-адреса. Наличие расширения полезно для выполнения чего-то вроде «http://myurl.com/file.png» – David542
Вы ищете ['uu'] (https://docs.python.org/3/library/uu.html)? – 5gon12eder