外观相同但字节表示形式不同的字符串

Identical looking string but different bytes representation

上面的字符串是我打的,下面的字符串是从数据库中提取的。

bytes('TOYOTA', 'utf-8')
>> b'TOYOTA'

bytes('ΤΟΥΟΤΑ', 'utf-8')
>> b'\xce\xa4\xce\x9f\xce\xa5\xce\x9f\xce\xa4\xce\x91'

当我想检查它是否存在时,这会导致不良结果

'TOYOTA' == 'ΤΟΥΟΤΑ'
>> False

知道如何“修复”不正确的字符串吗?

这些似乎是希腊大写字母:

>>> import unicodedata
>>> s = 'ΤΟΥΟΤΑ'
>>> for c in s:
...     print(unicodedata.name(c))
... 
GREEK CAPITAL LETTER TAU
GREEK CAPITAL LETTER OMICRON
GREEK CAPITAL LETTER UPSILON
GREEK CAPITAL LETTER OMICRON
GREEK CAPITAL LETTER TAU
GREEK CAPITAL LETTER ALPHA

您可以尝试使用可用的 third-party 库之一来音译拉丁字母表,例如:

这是一个类似的问题:How can I create a string in english letters from another language word?