Как Base64 кодировать PDF-файл в Python - PullRequest
7 голосов
/ 16 октября 2008

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

Ответы [ 4 ]

23 голосов
/ 17 октября 2008

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

a = open("pdf_reference.pdf", "rb").read().encode("base64")
4 голосов
/ 16 октября 2008

На самом деле, после еще нескольких копаний, похоже, что модуль 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())) 
1 голос
/ 16 октября 2008

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

0 голосов
/ 16 октября 2008

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

binascii.b2a_base64 (данные)

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

...