bt種子檔案檔案結構

2021-06-28 00:49:06 字數 1148 閱讀 4786

在開始之前,我們先介紹 bencode 這種編碼格式,因為 bt 種子檔案,包括以後的 dht 網路中,都是用這種編碼的。網上有很多介紹,這裡簡單再重複一遍。bencode 有 4 種資料型別: string, integer, list 和 dictionary。

string

字元是以這種方式編碼的: 《字串長度》:《字串》。

如 hell:4:hell

integer

整數是一這種方式編碼的: i《整數》e。

如 1999:i1999e

list

列表是一這種方式編碼的: l[資料1][資料2][資料3][…]e。

如列表 [hello, world, 101]:l5:hello5:worldi101ee

dictionary

字典是一這種方式編碼的:d[key1][value1][key2][value2][…]e,其中 key 必須是 string 而且按照字母順序排序。

如字典 :d2:aai100e2:bb2:bb2:cci200ee

很多語言都有 bencode 的實現,python 版本可在 pypi 裡面找到: bencode。

bt 種子檔案是使用 bencode 編碼的,整個檔案就 dictionary,包含以下鍵。

info, dictinary, 必選, 表示該bt種子檔案的檔案資訊。

announce, string, 必選, tracker 伺服器的位址

announce-list, list, 可選, 可選的 tracker 伺服器位址

creation date, interger, 必選, 檔案建立時間

comment, string, 可選, bt 檔案注釋

created by, string, 可選, 檔案建立者。

上面列舉的可能不是很完整的,但是大體上主要的字段沒有重大的錯誤。

BT種子檔案( torrent)的具體檔案結構

全部內容必須都為bencoding編碼型別。整個檔案為乙個字典結構,包含如下關鍵字 announce tracker 伺服器的 url 字串 announce list 可選 備用 tracker 伺服器列表 列表 creation date 可選 種子建立的時間,unix 標準時間格式,從 197...

BT種子檔案格式

bt種子檔案使用了一種叫bencoding的編碼方法來儲存資料。bencoding現有四種型別的資料 srings 字串 integers 整數 lists 列表 dictionaries 字典 編碼規則如下 strings 字串 編碼為 字串長度 字串 例如 4 test 表示為字串 test 4...

BT種子檔案格式

bt種子檔案格式 bt種子檔案使用了一種叫bencoding的編碼方法來儲存資料。bencoding現有四種型別的資料 srings 字串 integers 整數 lists 列表 dictionaries 字典 編碼規則如下 strings 字串 編碼為 字串長度 字串 例如 4 test 表示為...