編輯 ⸺ 有些 torrent 的目錄為空。

編輯 ⸺ 有些 torrent 的目錄為空。

當我嘗試從包含多個空子目錄的目錄中建立 torrent 檔案時,它們在 torrent 檔案中被忽略並省略。我想知道這是否是一個qBittorrent事物或限制BT協定. BitTorrent 協定是否允許您共用空目錄,保留實際的檔案樹?

包含多個空子目錄的目錄影像。 此類目錄的圖像已在 torrent 檔案中被忽略和省略。


編輯 ⸺ 有些 torrent 的目錄為空。

是的,實際上有一些。但如何呢?

53619 個種子中有 19 個具有空目錄。

torrent 中的空白目錄 05e4bb4227689c24fb61cd200e812d402526475b

用BEncode編輯器打開

列表“path”的最後一個元素是空字串

qBittorrent 如何處理這些神秘的空目錄

qBittorrent 如何處理空目錄

答案1

BitTorrent 協定中不可能共用空目錄。

BitTorrent 圖元檔案(.torrent 檔案)中的所有檔案都列在「info」字典內的「files」清單中。目錄儲存為相對於根目錄的檔案「路徑」的一部分。

BitTorrent v1 協定規範指出:

path - 與子目錄名稱對應的 UTF-8 編碼字串列表,最後一個是實際檔案名稱(零長度列表是錯誤情況)。

看:https://www.bittorrent.org/beps/bep_0003.html

這意味著不可能共享其中沒有任何檔案的目錄,因為路徑的最後一個元素將始終被解釋為檔案名稱。

以下範例顯示了檔案路徑如何儲存在 .torrent 檔案(格式為 JSON)中:

{
    "info": {
        "files": [
            {
                "length": 1647396,
                "path": [
                    "stage_2_detailed_class_info.csv"
                ]
            },
            {
                "length": 124100,
                "path": [
                    "stage_2_test_images_jpg",
                    "0000a175-0e68-4ca4-b1af-167204a7e0bc.jpg"
                ]
            },
        ],
        "name": "kaggle-pneumonia-jpg",
    }
}

此 torrent 包含兩個檔案:

  • kaggle-肺炎-jpg/stage_2_detailed_class_info.csv
  • kaggle-肺炎-jpg/stage_2_test_images_jpg/0000a175-0e68-4ca4-b1af-167204a7e0bc.jpg"

目錄“stage_2_test_images_jpg”僅存在,因為它包含在檔案“0000a175-0e68-4ca4-b1af-167204a7e0bc.jpg”的“路徑”中。

如果我們從 torrent 中刪除“0000a175-0e68-4ca4-b1af-167204a7e0bc.jpg”,目錄“stage_2_test_images_jpg”將成為“路徑”中的最後一個元素,並且將成為檔案而不是目錄。

相關內容