python - 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 实例中得到的结果来解码的。
解决方案
推荐阅读
- javascript - 创建动画以使对象沿 svg.js 中的连续路径以不同的速度移动
- ruby-on-rails - 将项目克隆到 Windows 机器后,Selenium 找不到 chromedriver
- angularjs - 自定义角度图表工具提示
- java - 模拟 HttpServletResponse 实例中 getContentType() 的返回为 null
- java - 干净的代码 - 避免使用基于通用数据类型的集合进行显式类型转换
- r - R中的轴标签周围的边框
- reactjs - 为什么不能根据道具反应设置初始状态
- vba - 用另一张包含有效值的表格检查一列中的单词并回填它
- sql - 统计数据不同的sql
- spring-mvc - @RefreshScope - JUnit 测试用例