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