我正在使用具有SAP RFC的应用程序,该应用程序将文档文件作为XSTRING返回。还有一个用python编写的客户端应用程序,该应用程序将请求发送到SAP RFC以获取doc文件。所以我的问题是,在python中,如何将XSTRING转换为doc文件? 。响应标头的内容类型为“应用程序/ msword;和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()