python3将utf-8转换为cp852

时间:2014-08-19 10:17:34

标签: python-3.x encoding

我有一个字典,键是由xlrd从xls解析的,有文件名,有些在utf-8中,有些在其他东西中可能是cp852。我需要通过os.listdir中的文件名来映射数据值,但有些键是其他编码。

def translateTo( self, czechName, toLang ) :
    # language orig, here is not used
    # cz lang is used as key, therefore -2 

    if czechName in self.dictionary.keys() :
        return self . dictionary [ czechName ][ toLang - 2 ];
    else :
        return czechName 

当我使用此代码时,dictionery的工作方式就像依赖电池一样。 问题:

>>> 'HELUZ H4 - komíny.xml' == 'HELUZ H4 - komíny.xml'

False 在左边是sting in cp852,在lef一边是经典utf-8

中的字符串

我怎么能成真?可以在python中定义自我比较器到dictionery吗?

1 个答案:

答案 0 :(得分:0)

我拥有它!

normalize('NFKD','HELUZ H4 - komíny.xml')== normalize('NFKD','HELUZ H4 - komíny.xml')