我正在尝试分析数据集中使用不同(混合)编码的数据集中的名称。它包含地名,以及许多其他地理空间数据。运行脚本后,我会得到一个与地理位置匹配的地名列表,即[u'BR', u'BR-ES', u'BRA', u'Brasil', u'Brazil', u'ES', u'Espirito Santo', u'Esp\xedrito Santo', u'Federative Republic of Brazil', u'Guarapari', u'Rep\xfablica Federativa do Brasil', u'gpxupload.py']
。到目前为止一切都很好但有时数据集会给我u'Taubat\u0102\u0160'
这样的结果,这些结果在分析中被视为TaubatĂŠ
而不是正确的值Taubaté
,前一个示例产生Espírito Santo
和{{1 }}
有没有办法捕获Republic Federative do Brasil
并将其转换为\u0102\u0160
,而无需为每个字母创建单独的\xe9
规则?
答案 0 :(得分:1)
u'Taubat\u0102\u0160'
。它实际上是UTF-8,但解码为' iso-8859-2'。理想情况下,首先正确解码,但以下内容可以解决错误:
>>> u'Taubat\u0102\u0160'.encode('iso-8859-2').decode('utf8')
u'Taubat\xe9'
>>> print(u'Taubat\u0102\u0160'.encode('iso-8859-2').decode('utf8'))
Taubaté