![](/img/trans.png)
[英]UnicodeEncodeError: 'charmap' codec can't encode character
[英]“'charmap' codec can't encode character” (Http Request)
我正在使用urllib.request.urlopen
從Web API獲取* .srt文件。 (相關)代碼(Python 3.x):
with urllib.request.urlopen(req) as response:
result = response.read().decode('utf-8')
print(result)
with open(subpath, 'w') as file:
file.write(result)
file.close()
除某些文件外,這可以正常工作。 對於某些文件,我收到以下錯誤: UnicodeEncodeError: 'charmap' codec can't encode character '\♪' in position 37983: character maps to <undefined>
(\\ u266a是四分音符符號。)
如何解決呢? 我可以從.read()返回的字節對象中過濾此字符嗎? 還是可以忽略編碼錯誤? 提前致謝。
另外,請注意,我確實找到了許多有關“ ...無法編碼字符...”-錯誤的主題,但是,在大多數情況下,使用.decode('utf-8')是解決方案。
我無法解決解碼錯誤,但是,我找到了解決方法。
通過以二進制模式寫入文件,可以寫入bytes對象,因此無需解碼:
with urllib.request.urlopen(req) as response:
result = response.read()
# print(result)
with open(subpath, 'wb') as file:
file.write(result)
file.close()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.