我正在一个具有SAP RFC的应用程序工作,该应用程序将文档文件作为XSTRING返回。还有一个用python编写的客户端应用程序,它将请求发送到SAP RFC以获取文档文件。所以我的问题是,在python中,如何将XSTRING转换为文档文件?
响应标头的内容类型为application/msword; and charset=utf-8
这个答案是由OP在他自己的问题中给出的,所以我把它移到了这里以适应StackOverflow的原则。
回答我自己的问题:
即使SAP RFC返回一个类型为xstring
的变量,Python也会在base64中接收它。为了将 base64 字符串转换为 doc,首先我解码了 base64 字符串,它给了我 RTF 的输出。然后我将 RTF 字节写入.rtf
文件。RTF文件可以从大多数文字处理工具打开。因此,我能够从文字处理工具打开.rtf
文件。
以下是我为转换编写的代码:
from base64 import b64decode
base64_resp = response_json['data']
bytes_rtf = b64decode(base64_resp, validate=True)
f = open(rtf_filename, 'wb')
f.write(bytes_rtf)
f.close()