Ответ 1
Python 2 принуждает между unicode
и str
использовать кодек ASCII при сравнении двух типов. Так что да, это всегда так.
То есть, если вы не испортили установку Python и не использовали sys.setdefaultencoding()
, чтобы изменить это значение по умолчанию. Вы не можете сделать это нормально, потому что функция sys.setdefaultencoding()
удаляется из модуля во время запуска, но существует Cargo Cult, где люди используют reload(sys)
для восстановления этой функции и изменения кодировки по умолчанию для чего-то еще попытаться исправить неявные проблемы кодирования и декодирования. Это глупая вещь по этой причине.