确实,您的文件似乎编码为UTF-16:
$ file ~/Downloads/dota_english.txt
~/Downloads/dota_english.txt: Little-endian UTF-16 Unicode C++ program
text, with very long lines, with CRLF line terminators
这符合您看到“每个字符之间有一个空格”的描述(UTF-16是两字节编码;对于ASCII文本,这意味着每个字符都表示为一个ASCII字节,后跟一个空字节,在文本中留出空格)。
您可以尝试在加载文件时指定编码,例如使用codecs
module:
import codecs
import vdf
d = vdf.load(codecs.open('dota_english.txt', 'r', encoding='utf-16'))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句