如何在python中修改字符串中的编码错误

时间:2011-02-18 16:23:40

标签: python encoding

我有一个python脚本作为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 个答案:

答案 0 :(得分:1)

我在代码中执行相同的操作,您应该可以使用:

... u_changed_pa​​th = unicode(changed_pa​​th,'utf-8') ...

使用上述方法时,我只会遇到与换行等字符有关的问题。如果您发布一些代码,它可能有所帮助。