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

喵喵時(shí)光機(jī)
TA貢獻(xiàn)1846條經(jīng)驗(yàn) 獲得超7個(gè)贊
您可以使用'unicode-escape'
編解碼器轉(zhuǎn)換 unicode 部分,然后透明地重新編碼為字節(jié)(latin-1 很方便,因?yàn)樗峁┝俗止?jié)和字符之間的 1 對 1 對應(yīng)),然后解碼為“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à'
添加回答
舉報(bào)
0/150
提交
取消