【发布时间】:2020-11-10 13:25:01
【问题描述】:
我正在使用 staxii 从外星金库 otx 导出提要,并尝试将它们发送到 misp。但是在发送一些提要时,出现以下错误:
UnicodeEncodeError: 'latin-1' codec can't encode character '\u2019' in position 3397: Body ('’') is not valid Latin-1. Use body.encode('utf-8') if you want to send it encoded in UTF-8.
for filename in os.listdir(dest_directory):
filenameWithDir = dest_directory+filename
try:
file_index += 1
print("****************")
print(dest_directory + filename)
print(file_index)
print("****************")
misp_config.upload_stix(filenameWithDir, '1')
except UnicodeEncodeError:
with open(filenameWithDir, 'r') as file:
filedata = file.read()
filedata = filedata.replace('вЂ', ' ').replace('’', ' ').replace('“', ' ').replace('”', ' ')\
.replace('–', ' ').replace('—', ' ').replace('™', ' ').replace('​', ' ').replace(' ', ' ')\
.replace(' ', ' ').replace('…', ' ').replace('гЂЂ', ' ').replace('лЇёл¶Ѓ м •мѓЃнљЊл‹ґ м „л§ќ л°Џ 대비', ' ')\
.replace(',', ' ').replace('•', ' ').replace('‑', ' ')
with open(filenameWithDir, 'w') as file:
file.write(filedata)
file_index += 1
print("****************")
print(dest_directory + filename)
print(file_index)
print("****************")
misp_config.upload_stix(filenameWithDir, '1')
我尝试替换不可读的字符,但字符太多。是否可以按错误指示的位置删除字符?
【问题讨论】:
-
这能回答你的问题吗:stackoverflow.com/questions/51157481/…
-
错误显示了如何做到这一点。使用
Object.encode('utf-8')将其编码为utf-8
标签: python python-3.x encode