Python-解码从输入文件读取的文本
很抱歉,如果其他地方已回答此问题,但我无法找到解决我的问题的方法 我正在从卫星接收器读取一个包含服务引用和名称的文件。我正在尝试规范化服务名称,但问题是该文件可能包含来自许多不同卫星和许多不同语言的数据 我用这个代码处理了好几个爱尔兰名字,把RTÉOne改为RTE One等等Python-解码从输入文件读取的文本,python,decode,codec,normalize,Python,Decode,Codec,Normalize,很抱歉,如果其他地方已回答此问题,但我无法找到解决我的问题的方法 我正在从卫星接收器读取一个包含服务引用和名称的文件。我正在尝试规范化服务名称,但问题是该文件可能包含来自许多不同卫星和许多不同语言的数据 我用这个代码处理了好几个爱尔兰名字,把RTÉOne改为RTE One等等 name = unicodedata.normalize('NFKD', unicode(name, 'utf_8')).encode('ASCII', 'ignore') 名称从输入文件中读取,如下所示: RTÉ O
name = unicodedata.normalize('NFKD', unicode(name, 'utf_8')).encode('ASCII', 'ignore')
名称从输入文件中读取,如下所示:
RTÉ One
ΉπειÏος TV1
这一切都很好,但后来我遇到了这样一个服务名称:
RTÉ One
ΉπειÏος TV1
它不能处理上面的编解码器,它显然不是utf_8
我试图将上述代码更改为:
name = unicodedata.normalize('NFKD', force_decode(name)).encode('ASCII', 'ignore')
其中force_decode是一个函数,如下所示:
def force_decode(string, codecs=['latin_1', 'cp857', 'cp866', 'cp1252', 'cp855', 'iso8859_5', 'iso8859_9', 'utf_8']):
for i in codecs:
try:
return string.decode(i)
except (Exception) as exception:
print "Error decoding name!! ", exception
pass
print "cannot decode url %s" % ([string])
现在发生的事情是,上面的内容只是TV1。我想知道我是否能破译任何东西
有人知道这是否可能吗
提前感谢。这是一个噩梦般的问题。如果你真的没有办法知道编码方式,而编码方式又是任意的和不断变化的,那么当你猜错的时候就会出错。没办法。我希望那不是答案,哈哈。。谢谢你的回复,我可能需要想一个不同的方法!