/ / Jak mogę naprawić błędy kodowania w ciągu znaków w python - python, kodowanie

Jak mogę naprawić błędy kodowania w ciągu znaków w python - python, kodowanie

Mam skrypt Pythona jako pre-zatwierdzenie subversionhak, a ja napotykam na problemy z tekstem zakodowanym w utf-8 w przesyłanych wiadomościach. Na przykład, jeśli znak wejściowy to „å”, wyjście to „? 195? 165”. Jaki byłby najłatwiejszy sposób zastąpienia tych części znaków odpowiednimi wartościami bajtów? Regexp nie działa tak, jak muszę wykonać przetwarzanie na każdym elemencie i scalić je z powrotem.

próbka kodu:

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

Odpowiedzi:

1 dla odpowiedzi № 1

Robię to samo w moim kodzie i powinieneś być w stanie używać:

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

Korzystając z powyższego podejścia, wpadłem tylko na problemy z postaciami, takimi jak kanały itp. Jeśli opublikujesz kod, może to pomóc.