我有一个这样的列表:
['<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中。
我有一个这样的列表:
['<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中。
使用方法解码字符串值.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,一个不间断的空格(
作为 HTML 实体):
>>> lst[0].decode('utf8')
u'<option value="284">\xa0\xa0\xa0\xa0 Historia </option>'
>>> lst[1].decode('utf8')
u'<option value="393">\xa0\xa0\xa0\xa0 H\xe4lsa & sk\xf6nhet </option>'
看起来像 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>