簡體   English   中英

“'charmap'編解碼器無法編碼字符”(Http請求)

[英]“'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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM