??xml version="1.0" encoding="utf-8" standalone="yes"?>
]]>
]]>
~码规则如下Q?br />strings(字符?~码为:<字符串长?gt;Q?lt;字符?gt;
例如Q?:test 表示为字W串"test"
4:例子 表示为字W串“例子?br />字符串长度单位ؓ字节
没开始或l束标记
integers(整数)~码为:i<整数>e
开始标记iQ结束标Cؓe
例如Q i1234e 表示为整?234
i-1234e 表示为整?1234
整数没有大小限制
i0e 表示为整?
i-0e 为非?br />?开头的为非法如Q?i01234e 为非?/p>
lists(列表)~码为:l<bencoding~码cd>e
开始标Cؓl,l束标记为e
列表里可以包含Q何bencoding~码cdQ包括整敎ͼ字符Ԍ列表Q字典?br />例如Q l4:test5abcdee 表示Z个字W串["test","abcde"]
dictionaries(字典)~码为d<bencoding字符?gt;<bencoding~码cd>e
开始标Cؓd,l束标记为e
关键字必Mؓbencoding字符?br />值可以ؓMbencoding~码cd
例如Q d3:agei20ee 表示为{"age"=20}
d4:path3:C:\8:filename8:test.txte 表示为{"path"="C:\","filename"="test.txt"}
具体文gl构如下Q?br />全部内容必须都ؓbencoding~码cd?br />整个文gZ个字典结?包含如下关键?br />announce:tracker服务器的URL(字符?
announce-list(可?:备用tracker服务器列?列表)
creation date(可?:U子创徏的时_Unix标准旉格式Q从1970 1??00:00:00到创建时间的U数(整数)
comment(可?:备注(字符?
created by(可?:创徏人或创徏E序的信?字符?
info:一个字典结构,包含文g的主要信息,为分二种情况Q单文gl构或多文gl构
单文件结构如下:
length:文g长度Q单位字?整数)
md5sum(可?Q长32个字W的文g的MD5校验和,BT不用这个|只是Z兼容一些程序所保留!(字符?
name:文g?字符?
piece length:每个块的大小Q单位字?整数)
pieces:每个块的20个字节的SHA1 Hash的?二进制格?
多文件结构如下:
files:一个字典结?br /> length:文g长度Q单位字?整数)
md5sum(可?:同单文gl构中相?br /> path:文g的\径和名字Q是一个列表结构,如\test\test.txt 列表为l4:test8test.txte
name:最上层的目录名?字符?
piece length:同单文gl构中相?br /> pieces:同单文gl构中相同?br />实例Q?br />用记事本打开一?torrent可以看来cM如下内容
d8:announce35:http://www.manfen.net:7802/announce13:creation datei1076675108e4:infod6:lengthi17799e4:name62:MICROSOFT.WINDOWS.2000.AND.NT4.SOURCE.CODE-SCENELEADER.torrent12:piece lengthi32768e6:pieces20:?W ?w?R排T酆ee
很容易看?br />announceQ?a >http://www.manfen.net:7802/announce
creation dateQ?076675108U?02/13/04 20:25:08)
文g?MICROSOFT.WINDOWS.2000.AND.NT4.SOURCE.CODE-SCENELEADER.torrent
文g大小Q?7799字节
文g块大=32768字节