控制台中的Python \ xYZ字符

时间:2012-10-09 12:43:54

标签: python string escaping hex

我正在构建一个带有两个文件的程序,经过一些处理后,我必须比较文件的某些部分。

作为一个例子,当我打印两个我想要比较的字符串时,它看起来像这样:

CSV = 'UC013. MANTER ITEM DE NOTA FISCAL / NOTA DE SERVI\xc3\x87O / RECIBO'
DOC = 'UC013. MANTER ITEM DE NOTA FISCAL / NOTA DE SERVI\xc7O / RECIBO'

两者应该是相同的:

'UC013. MANTER ITEM DE NOTA FISCAL / NOTA DE SERVIÇO / RECIBO'

如何在控制台中打印正确的字符并正确比较字符串?

非常感谢你的帮助。

1 个答案:

答案 0 :(得分:3)

你有两个编码不同的文件,第一个是utf-8(CSV),第二个是latin1(DOC)。如果你想比较它们,你必须首先将它们解码为unicode:

CSV = 'UC013. MANTER ITEM DE NOTA FISCAL / NOTA DE SERVI\xc3\x87O / RECIBO'
DOC = 'UC013. MANTER ITEM DE NOTA FISCAL / NOTA DE SERVI\xc7O / RECIBO'
CSV = CSV.decode('utf-8')
DOC = DOC.decode('latin1')
print(CSV == DOC)    # True