我正在使用 aiohttp 從網站下載數據,我得到一個字節對象作為響應,但我很難解碼它。這是我得到的回復的一個例子b'\\r\\nLocalit\xc3\xa0' # Localitàb'\\u003cdiv\\u003e12/09/2019\\u003c/div\\u003e\\r\\n' # <div>12/09/2019</div>據我了解,它具有文本的正常 unicode 和 html 標簽和換行符的轉義 unicode。如果我嘗試使用 "str(content, "utf-8")" 對其進行解碼,我仍然有這種格式的 html 標簽\u003cdiv \u003e12/09/2019\u003c/div\u003e\r\n我應該為每個標簽做一個手冊.replace("\u003", "<")還是有更優雅的解決方案?
1 回答

喵喵時光機
TA貢獻1846條經驗 獲得超7個贊
您可以使用'unicode-escape'
編解碼器轉換 unicode 部分,然后透明地重新編碼為字節(latin-1 很方便,因為它提供了字節和字符之間的 1 對 1 對應),然后解碼為“utf-8”:
b = b'\\u003cdiv\\u003e12/09/2019\\u003c/div\\u003e\\r\\n\\r\\nLocalit\xc3\xa0'
b.decode('unicode-escape').encode('latin1').decode('utf8')
# '<div>12/09/2019</div>\r\n\r\nLocalità'
添加回答
舉報
0/150
提交
取消