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

Zig*_*gnd 1 python python-2.7

我跑的时候

files = os.listdir(path)
Run Code Online (Sandbox Code Playgroud)

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

['l\xa6oli.txt', 'asd.txt']
Run Code Online (Sandbox Code Playgroud)

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

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

use*_*ica 5

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

print files[0]
Run Code Online (Sandbox Code Playgroud)

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