BT种子文件使用一种叫做bencoding的编码方法保存数据。

bencoding有四种类型的数据:字符串、整数、列表和分散

编码规则如下。

字符串(字符串)被编码为字符串长度

例如,4:test表示为字符串test

4:例表示为字符串“例”

字符串长度的单位是字节

没有开始或结束标记

integers (整数)编码为I整数e

开始标志I、结束标志e

例如,i1234e表示为整数1234

i-1234e表示为整数-1234

整数没有大小限制

i0e表示为整数0

i-0e是违法的

以0开头的是非法的,例如i01234e是非法的

lists (列表)代码是lb编码类型e

开始标志为l,结束标志为e

该列表可以包含任何bencoding代码类型,例如整数、字符串、列表或词典。

例如,l4:test5abcdee表示为两个字符串[test,abcde]

dictionaries (词典)编码为dbencoding字符串bencoding编码类型e

开始标志为d,结束标志为e

关键字必须是bencoding字符串

该值可以是任何bencoding编码类型

例如,d3:agei20ee表示为{age=20}

d 4: path : c :/8: filename 8: test.txte表示为{path=C:/,filename=test.txt}

具体的文件结构如下。

所有内容都必须是bencoding编码类型。

整个文件是词典结构,包含以下关键字

announce:跟踪器的URL (字符串)

可选:备用tracker服务器列表) )。

creation date (可选:种子创建时间,Unix标准时间格式,1970 1月1日00:00:00到创建时间之间的秒数(整数) ) ) ) ) ) ) ) ) )。

comment (可选) :注释(字符串)

created by (可选) :创建者或创建程序信息(字符串) )。

info:的词典结构包含文件的主要信息,可以分为一个文件结构或多个文件结构两种情况

单个文件的结构如下:

length:文件的长度,单位字节(整数)

md5sum (可选)长度为32个字符的文件的MD5校验和。 BT不使用此值。 但是,它是为了与某些程序兼容而保留的。 (字符串)

name:文件名(字符串)

piece length:每个块的大小,单位字节(整数)

pieces:每个块的20字节SHA1 Hash值(二进制格式)

多个文件的结构如下。

files:词典结构

length:文件的长度,单位字节(整数)

md5sum (可选) :与单个文件结构相同

path:文件的路径和名称是/test/test.txt列表的列表结构,如l4:test8test.txte

name:的顶层目录名称(字符串)

piece length:与单一文件结构相同

pieces:与单一文件结构相同

实例:

在记事本中打开. torrent时,您将看到以下内容

d 8: announce 353360http://www.manfen.net :7802/announce 1: creation datei 10766675108 e 4: infod 6: lengthi 17799 e 4: 跛? 22222ee

容易理解

announce=http://www.manfen.net :7802/announce

creation date=1076675108秒(02/13/04 20:25:08 )

文件名=Microsoft.windows.2000.and.nt4.source.code-scene leader.torrent

文件大小=17799字节

块大小=32768字节