Cómo codificar en base64 un archivo PDF en Python

¿Cómo debo base64 codificar un archivo PDF para transporte XML-RPC en Python?

esto es realmente una no-pregunta, como xmlrpclib hace esto para usted
En realidad, ese hecho resultó ser la respuesta. Yo no sabía de ella cuando me hizo la pregunta.

OriginalEl autor Pat Notz | 2008-10-16

4 Kommentare

  1. 23

    Si usted no desea utilizar el xmlrpclib Binarios de clase, que sólo puede utilizar la .encode() método de cadenas:

    a = open("pdf_reference.pdf", "rb").read().encode("base64")
    No esta leer todo el archivo llamando read() antes de la codificación? Es que cómo se supone que funciona? No me puedo imaginar la codificación de un multi-MB archivo o mayor con este.
    es una línea de ejemplo de uso de la codificación del método de las cadenas. Optimizar el rendimiento será de aplicación específica y se deja como ejercicio.

    OriginalEl autor Tony Meyer

  2. 4

    De hecho, después de algo más de la excavación, se ve como el xmlrpclib módulo puede tener la pieza que necesita con Binary clase auxiliar:

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

    Aquí un ejemplo de la Trac XML-RPC documentación

    
    import xmlrpclib 
    server = xmlrpclib.ServerProxy("http://athomas:[email protected]:8080/trunk/login/xmlrpc") 
    server.wiki.putAttachment('WikiStart/t.py', xmlrpclib.Binary(open('t.py').read())) 

    OriginalEl autor Pat Notz

  3. 0

    Parece que podría ser capaz de utilizar el binascii módulo

    binascii.b2a_base64(datos)

    Convertir los datos binarios a una línea de caracteres ASCII en la codificación base64. El valor de retorno es la convierten línea, incluyendo una nueva línea de char. La longitud de los datos se debe en la mayoría de los 57 a adherirse a la base64 estándar.

    OriginalEl autor Sam Corder

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea