Как base64 кодирует PDF-файл в Python

Как я должен base64 кодировать PDF-файл для транспорта через XML-RPC в Python?

5 Solutions collect form web for “Как base64 кодирует PDF-файл в Python”

ПРИМЕЧАНИЕ. Это копия Пат Нотца, принадлежащая сообществу-вики. Этот ответ может быть выбран в качестве выбранного ответа. Изменить свободно, чтобы улучшить.

Пэт Ноц говорит:

На самом деле, после некоторого дополнительного копания, похоже, что модуль xmlrpclib может иметь кусок, который мне нужен, с его Binary вспомогательным классом:

 binary_obj = xmlrpclib.Binary( open('foo.pdf').read() ) 

Вот пример из документации Trac XML-RPC

 import xmlrpclib server = xmlrpclib.ServerProxy("http://athomas:password@localhost:8080/trunk/login/xmlrpc") server.wiki.putAttachment('WikiStart/t.py', xmlrpclib.Binary(open('t.py').read())) 

Если вы не хотите использовать двоичный класс xmlrpclib, вы можете просто использовать метод .encode () строк:

 a = open("pdf_reference.pdf", "rb").read().encode("base64") 

На самом деле, после некоторого дополнительного копания, похоже, что модуль xmlrpclib может иметь кусок, который мне нужен, с его Binary вспомогательным классом:

 binary_obj = xmlrpclib.Binary (open ('foo.pdf'). read ())

Вот пример из документации Trac XML-RPC

 import xmlrpclib server = xmlrpclib.ServerProxy("http://athomas:password@localhost:8080/trunk/login/xmlrpc") server.wiki.putAttachment('WikiStart/t.py', xmlrpclib.Binary(open('t.py').read())) 

Вы можете сделать это с помощью библиотеки base64 , унаследованного интерфейса.

Похоже, вы могли бы использовать модуль binascii

binascii.b2a_base64 (данные)

Преобразование двоичных данных в строку символов ASCII в кодировке base64. Возвращаемое значение представляет собой преобразованную строку, включая символ новой строки. Длина данных должна быть не более 57, чтобы соответствовать стандарту base64.

Python - лучший язык программирования в мире.