UTF-8 плюс вопросительные знаки - PullRequest
3 голосов
/ 20 марта 2011

У меня есть сайт, который отображает пользовательский ввод, расшифровывая его в Unicode, используя utf-8. Однако пользовательский ввод может включать в себя двоичные данные, которые, очевидно, не всегда могут быть «декодированы» с помощью utf-8.

Я использую Python и получаю сообщение об ошибке:

Кодек 'utf8' не может декодировать байт 0xbf в позиции 0: неожиданный байт кода. Вы прошли в '\ xbf \ xcd ...

Существует ли стандартный эффективный способ преобразования этих некодируемых символов в знаки вопроса?

Было бы очень полезно, если в ответе используется Python.

Ответы [ 2 ]

6 голосов
/ 20 марта 2011

Попробуйте:

inputstring.decode("utf8", "replace")

См. здесь для справки

1 голос
/ 20 марта 2011

Я думаю, что вы ищете:

str.decode('utf8','ignore')

, который должен сбрасывать недействительные байты, а не вызывать исключение

...