波兰语编码 - 分裂问题

时间:2017-04-22 13:44:10

标签: python character-encoding

我有一个用utf-8编码的文件,带有抛光字符。 我需要做的是用文字玩一下。但是当我使用split(“”)列表包含\ xc5 \ x82或\ u0142

filename = 'patient.txt'
f = open(filename, 'r')
for line in f:
    print line
    print line.split(" ")
    print unicode(line,encoding(line),errors='ignore').split(" ")
f.close()

结果:

   Pacjent lat 48 został przyjęty do Oddziału z powodu spadku tolerancji wysiłku i duszności.
['\xef\xbb\xbfPacjent', 'lat', '48', 'zosta\xc5\x82', 'przyj\xc4\x99ty', 'do', 'Oddzia\xc5\x82u', 'z', 'powodu', 'spadku', 'tolerancji', 'wysi\xc5\x82ku', 'i', 'duszno\xc5\x9bci.']
[u'Pacjent', u'lat', u'48', u'zosta\u0142', u'przyj\u0119ty', u'do', u'Oddzia\u0142u', u'z', u'powodu', u'spadku', u'tolerancji', u'wysi\u0142ku', u'i', u'duszno\u015bci.']

在列表中包含波兰字符需要做什么?有可能吗?

问候
的Pawel

2 个答案:

答案 0 :(得分:2)

您已经在列表中添加了波兰语字符。但是当你打印列表时,你只看到它的表示。

>>> print u'zosta\u0142'
został

答案 1 :(得分:0)

您的文件实际上不是UTF-8,而是UTF-8-BOM。使用open(filename, 'r', encoding='utf-8-bom')