我有一个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", "æ")
答案 0 :(得分:1)
我在代码中执行相同的操作,您应该可以使用:
... u_changed_path = unicode(changed_path,'utf-8') ...
使用上述方法时,我只会遇到与换行等字符有关的问题。如果您发布一些代码,它可能有所帮助。