python下读取种子文件列表中的名字,获取到的信息是乱码,使用bencode来读取的

btfile = open('a.torrent', 'rb')
btinfo = bencode.bdecode(btfile.read())

btfile.close()
info = btinfo['info']
btlist = {}
for ls in info['files']:
if len(ls['path']) > 1:
btlist[ls['path'][0]] = {'path':ls['path'][0]+'/'+ls['path'][1],'size':ls['length'])}
else:
btlist[ls['path'][0]] = {'path':ls['path'][0],'size':ls['length'])}

这样读出来,每次输出都是乱码,文件开头已经加上utf8,,求解为什么?

使用:chardet 模块,可以检测你的内容是什么编码。然后再根据检测结果来解码。追问

使用过,chardet模块如果检测到包含繁体字的日文时,会自动判别为big5,然后用big5解码的话,日文就无法显示了~

追答

繁体字的日文。。。好高深,搞不定。。没试过。兄弟不会是去解析教育片吧。。。

温馨提示:答案为网友推荐,仅供参考
相似回答