/ / Como posso corrigir erros de codificação em uma string em python - python, codificação

Como posso corrigir erros de codificação em uma string em python - python, codificação

Eu tenho um script python como um pré-commit do subversiongancho, e eu encontro alguns problemas com o texto codificado utf-8 nas mensagens de envio. Por exemplo, se o caractere de entrada for "å", a saída será "? 195? 165". Qual seria a maneira mais fácil de substituir essas partes de caractere pelos valores de byte correspondentes? Regexp não funciona como eu preciso fazer o processamento em cada elemento e mesclá-los novamente.

amostra de código:

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", "æ")

Respostas:

1 para resposta № 1

Eu faço as mesmas coisas no meu código e você deve poder usar:

... u_changed_path = unicode (changed_path, "utf-8") ...

Ao usar a abordagem acima, eu só me deparo com problemas com caracteres como feeds de linha e tal. Se você postar algum código, isso pode ajudar.