如何在Python中使用64编码PDF文件

Pat*_*otz 7 python base64 encoding xml-rpc

我应该如何base64编码PDF文件,以便在Python中通过XML-RPC进行传输?

Ton*_*yer 23

如果您不想使用xmlrpclib的Binary类,则可以使用字符串的.encode()方法:

a = open("pdf_reference.pdf", "rb").read().encode("base64")
Run Code Online (Sandbox Code Playgroud)

  • @Shurane它是使用字符串编码方法的一行示例.优化性能将是特定于应用程序的,并留作练习. (2认同)
  • 这在 Python 3 中不再有效,试试这个:`base64.b64encode(open('path/to/your.pdf', 'rb').read())` 信用:https://stackoverflow.com/a/ 43084065/5125264 (2认同)

Pat*_*otz 5

实际上,经过进一步的挖掘后,看起来该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())) 
Run Code Online (Sandbox Code Playgroud)


joh*_*tok 2

您可以使用base64 库、遗留接口来完成此操作。