Как я могу исправить ошибки кодирования в строке в Python - PullRequest
0 голосов
/ 18 февраля 2011

У меня есть скрипт Python в качестве ловушки pre-commit для subversion, и я столкнулся с некоторыми проблемами с текстом в кодировке UTF-8 в сообщениях отправки.Например, если входной символ «å», то вывод «? \ 195? \ 165».Что было бы самым простым способом заменить эти части символа соответствующими значениями байтов?Regexp не работает, так как мне нужно выполнить обработку каждого элемента и объединить их вместе.

пример кода:

infoCmd = ["/usr/bin/svnlook", "info", sys.argv[1], "-t", sys.argv[2]]
info = subprocess.Popen(infoCmd, stdout=subprocess.PIPE).communicate()[0]
info = info.replace("?\\195?\\166", "æ")

1 Ответ

1 голос
/ 18 февраля 2011

Я делаю то же самое в своем коде, и вы должны иметь возможность использовать:

... u_changed_path = unicode (updated_path, 'utf-8') ...

Когдаиспользуя подход выше, я столкнулся с проблемами только с такими символами, как переводы строк и тому подобное.Если вы разместите код, это может помочь.

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