为什么os.listdir将converts转换为\ xa6以及如何将其转换回来?

时间:2013-12-31 14:00:16

标签: python python-2.7

当我跑步时

files = os.listdir(path)

它返回一个包含目录path中文件的列表并将其保存到files,问题是目录path上的一个文件使用了框图绘制字符┤和何时我打印列表files我得到了这个

['l\xa6oli.txt', 'asd.txt']

第一个字符串应该是'l┤oli.txt',但它是'l\xa6oli.txt'

我想将结果字符串转换回包含字符而不是\xa6的字符串,我也想知道它是什么类型的编码?

1 个答案:

答案 0 :(得分:5)

您的字符串中包含您想要的字符。为简单起见,Python只是以十六进制转义显示它;字符串文字中的\xa6表示十六进制值为A6的字节,而不是文字反斜杠,x,a和6.如果打印字符串:

print files[0]

它应该显示为一个盒子绘图字符,至少在您的系统上。字节A6可能是另一台计算机上的其他东西。