php文件改bt,如果对BT种子文件进行修改?

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

bencoding现有四种类型的数据:srings(字符串),integers(整数),lists(列表),dictionaries(字典)

编码规则如下:

strings(字符串)编码为::

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

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

字符串长度单位为字节

没开始或结束标记

integers(整数)编码为:ie

开始标记i,结束标记为e

例如: i1234e 表示为整数1234

i-1234e 表示为整数-1234

整数没有大小限制

i0e 表示为整数0

i-0e 为非法

以0开头的为非法如: i01234e 为非法

lists(列表)编码为:le

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

列表里可以包含任何bencoding编码类型,包括整数,字符串,列表,字典。

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

dictionaries(字典)编码为de

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

关键字必须为bencoding字符串

值可以为任何bencoding编码类型

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

d4:path3:C:\8:filename8:test.txte 表示为{"path"="C:\","filename"="test.txt"}

BT种子具体文件结构如下:

全部内容必须都为bencoding编码类型。

如果字典用{}表示,列表用[]表示,字符用""表示,目录类型的BT文件大致是这样的:

{

"announce"="http://btfans.3322.org:8000/announce"   ;tracker 服务器的URL(字符串)

"announce-list"=["http://..","http://.."]           ;备用tracker服务器列表(列表)

"creation date"=1175204110                          ;种子创建的时间,Unix标准时间格式

"encoding"="GBK"                                    ;编码

"comment"="备注"

"created by"="创建人信息"

{

"info"={"files"=[{"filehash"="SHA1 Hash","length"=168099584,"path"=["01.rmvb"]},

{...},

{...}

]

"name"="保存目录名"

"piece length"=2097152    ;每个块的大小,单位字节(整数)

"pieces"="每个块的SHA1 Hash的值的顺序排列(二进制格式,长度为"20 X 块数")"

}

}

}

其中,filehash为20个字节的二进制的SHA1 Hash

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值