我正在使用 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
提交
取消