How to compare unicode and str in Python
我的代码:
1 2 | a = '汉' b = u'汉' |
这两个字是同一个汉字。但很明显,
所以,我的问题是,我该怎么把
如果您不知道
首先,为了检测
1 | $ pip install chardet |
现在让我们使用它:
1 2 3 4 | >>> import chardet >>> a = '汉' >>> chardet.detect(a) {'confidence': 0.505, 'encoding': 'utf-8'} |
因此,要实际完成您的要求:
1 2 3 4 5 | >>> encoding = chardet.detect(a)['encoding'] >>> b = u'汉' >>> b_encoded = b.encode(encoding) >>> a == b_encoded True |
使用
1 2 3 4 | >>> a = '汉' >>> b = u'汉' >>> a.decode('utf-8') == b True |
注:根据源代码编码替换
1 2 3 4 5 | In [133]: a.decode('utf') == b Out[133]: True In [134]: b.encode('utf') == a Out[134]: True |
请注意,