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 № 1Eu 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.