首页 > 解决方案 > html.parser.unescape 返回一个编码奇怪的字符串

问题描述

这一刻我很困惑。我正在尝试解码一些 HTML 编码的测试,然后将其拆分为一个字符。但是,我从中获得的编码html.parse.unescape使这变得不可能。

唯一一次“正确”格式化是在我打印结果时,__repr__并且__str__都是这种编码格式。

这是示例:

import html.parser


raw_str = '10:20am – 12:10pm'

decoded_str = html.parser.unescape(raw_str)

print(decoded_str)
print(decoded_str.split('-'))

输出:

10:20am – 12:10pm
['10:20am\xa0–\xa012:10pm']

输出显示decoded_str没有像我预期的那样被拆分,并且存在编码字符。如果我们检查这个值的类型,我们会得到以下信息:

>>> type(decoded_str)
<class 'str'>

decoded_str应该是一个字符串,我盯着-中间的一个字符,但它拒绝拆分,这些编码的字符导致了各种各样的问题。最后一点,我相信即使-在上面的例子中显示了这个字符,它实际上是\u2013根据我从 IronPython 实例中得到的结果来解码的。

标签: pythonhtmldecodeencodeironpython

解决方案


推荐阅读