/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
其中数字和字符串类型只用于表示值,而不能作为容器。BTTool正式版是款可以简单的BT文件修改工具,BTTool正式版中列表和字典类型都可以作为容器,故还有一个parent参数,用于向父节点添加子节点。BTTool正式版显示并修改BT文件,一起来看看吧!
显示BT文件树状图
仿照“BEncode Editor”这款工具的界面来显示。简单分析一下,其实就是使用了一个TreeView的控件来显示。由于我们解析出来的节点和TreeView控件的节点正好是一一对应的,所以这里也用一个递归就能实现了。
修改BT文件
至今为止我们都在做重复的工作,模仿已有的工具,那么接下来就是新的内容了。经过我的仔细观察后发现,百度云离线下载检测的关键词主要为
{ "name", "name.utf-8", "path", "path.utf-8", "comment", "comment.utf-8", "publisher", "publisher-url", "publisher-url.utf-8", "publisher.utf-8"}
简单的BT文件解析器
可以看到bencoding编码中的四种类型都有一个标识头,比如整数类型以'i'开始,string类型以数字开始。利用这一特性,对于每一个类型,我们先尝试读一个字符,并根据读入的字符判断读入的是什么类型,如‘i’为整形,'d'为字典,'l'为列表而剩下的数字则为字符串。