我设法尝试对该主题进行一些搜索,但没有遇到任何可以帮助解决的问题,除非我未能实施这些决议。
基本上我正在使用产品API进入并下载不同格式的文件; pdf,html,csv等我有一切都很好,直到我必须将数据写入文件。我正在使用io模块将数据写入缓冲区然后解码。但是当我尝试将数据写入文件时,我想我没有正确地做到这一点,因为我在改变时会遇到不同的错误。
我在Python编码:
# Iterate through formats to download each file
for type, fileID in formats.iteritems():
data = download_files(type,id, fileID)
with io.open("Nessus_Reports/%s/%s/%s_%d.%s" %(date,name,name,id,type), 'wb') as file:
file.write(data)
以下是我下载数据的函数中的代码示例。
session.setopt(session.SSL_VERIFYHOST, 0)
session.setopt(session.SSL_VERIFYPEER, 0)
session.setopt(session.WRITEFUNCTION, buffer.write)
session.perform()
if type == 'pdf' or type == 'db':
data = buffer.getvalue()
else:
data = buffer.getvalue().decode('utf-8')
return data
我通过此实现获得的错误消息是 UnicodeEncodeError:' ascii'编解码器不能对字符u' \ xa0'进行编码。在位置1 6604:序数不在范围内(128)