用十六进制转义值列出Python中可读的字符串

2024-09-27 23:22:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样一个清单:

['<option value="284">\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 Historia </option>', '<option value="393">\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 H\xc3\xa4lsa & sk\xc3\xb6nhet </option>']

如何将此列表转换为具有实际可读元素的列表?在

我相信是在ISO 8859-1。在


Tags: 元素列表valueisoskxa0optionxc3
2条回答

使用.decode()方法解码字符串值;实际上您看到的是UTF-8数据:

>>> print lst[0].decode('utf8')
<option value="284">     Historia </option>
>>> print lst[1].decode('utf8')
<option value="393">     Hälsa & skönhet </option>

第一个字节表示Unicode代码点U+00a0,一个不间断的空格(&nbsp;作为HTML实体):

^{pr2}$

看起来像UTF-8:

>>> s=['<option value="284">\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 Historia </option>', '<option value="393">\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 H\xc3\xa4lsa & sk\xc3\xb6nhet </option>']
>>> for v in s:
...     print v.decode('utf8')
...     
<option value="284">     Historia </option>
<option value="393">     Hälsa & skönhet </option>

相关问题 更多 >

    热门问题