我试图解析一个文本文件(Valve KeyValues语言文件),但遇到了一些问题。我用这个library来解析其他KeyValues文件,从我收集到的数据来看,它工作得非常好,但是对于语言文件,它只返回一个空dict。
我尝试了一些简单的事情,比如遍历文件中的所有行,检查字符串是否存在(我只通过查看文件就知道字符串存在),但它永远找不到它。不过,单个字符似乎很管用。
如果我把这些行直接打印到控制台上,看起来好像每个字符之间都有一个空格。
我把文件上传到我的谷歌硬盘here。你知道吗
这是一个语言文件,所以我想它可以存储在一些不同的编码,但我无法找到任何通过谷歌/我真的不知道在这里搜索什么。你知道吗
实际上,您的文件似乎编码为UTF-16:
这符合您看到“每个字符之间的空格”的描述(UTF-16是两字节编码;对于ASCII文本,这意味着每个字符表示为ASCII的一个字节,后跟一个空字节,给出文本中的空格)。你知道吗
您可以尝试在加载文件时指定编码,例如使用^{} module :
它看起来像一种json文件,里面有xml。你能上传你的源代码吗?有许多json解析器。您可以使用内置的json模块和xmllib。你知道吗
相关问题 更多 >
编程相关推荐