почему в python, передавая str func, строка в юникоде будет вызывать исключение? - PullRequest
2 голосов
/ 06 мая 2010

например следующее: ул (и 'לשום') выдаст ошибку. как я могу предотвратить это?

Ответы [ 2 ]

7 голосов
/ 06 мая 2010

Вызов str() на unicode аналогичен вызову .encode(sys.getdefaultencoding()) на нем. Если unicode содержит символы, которые не могут быть закодированы в кодировке по умолчанию, тогда будет выдано UnicodeEncodeError. Исправление заключается в явном кодировании unicode в полезную кодировку, например 'utf-8'.

0 голосов
/ 06 мая 2010

Если вы работаете на Python 3, нотация u'' является синтаксической ошибкой. Это твоя проблема? Потому что в Python <3 ваш код абсолютно корректен, а так как 'test' является простым ASCII, проблем с декодированием нет. </p>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...