Miami-art.ru

Создание и развитие сайта

Bencode

03-10-2023

Bencode — это формат, используемый p2p системой распространения файлов BitTorrent для хранения и передачи свободно структурированных данных.

Включает в себя четыре типа данных:

  • строка байт,
  • целое число,
  • список (массив),
  • словарь.

Bencode используется в .torrent файлах. Файл представляет собой словарь в Bencode формате.

Кодирование

Bencode использует ASCII символы как разделители и цифры.

  • Целое число записывается так: i<число в десятичной системе счисления>e. Число не должно начинаться с нуля, но число ноль записывается как i0e. Отрицательные числа записываются со знаком минуса перед числом. Число 42 будет выглядеть так «i42e».
  • Строка байт: <размер>:<содержимое>. Размер — это число в десятичной системе счисления; Содержимое — это непосредственно данные, представленные цепочкой байт. Строка «spam» в этом формате будет выглядеть так «4:spam».
  • Список (массив): l<содержимое>e . Содержимое включает в себя любые Bencode типы, следующие друг за другом. Список, состоящий из строки «spam» и числа 42, будет выглядеть так: «l4:spami42ee».
  • Словарь: d<содержимое>e. Содержимое состоит из пар Ключ-Значение, которые следуют друг за другом. Ключ может быть только строкой байт. Значение может быть любым Bencode элементом. Если сопоставить ключам «bar» и «foo» значения «spam» и 42, получится: «d3:bar4:spam3:fooi42ee». (Если добавить пробелы между элементами, будет легче понять структуру: "d 3:bar 4:spam 3:foo i42e e".)

Внешние ссылки

  • File_Bittorrent2 - Реализация Bencode/decode на PHP
  • Оригинальная реализация BitTorrent на Python как отдельный пакет
  • BEncode Editor Windows GUI редактор BEncode
  • разбор Bencode на Java
  • Анализатор торрент-файлов/ссылок/bencode
  • Создание и редактирование torrent-файлов.

Bencode.

© 2018–2023 miami-art.ru, Россия, Смоленск, ул. Загорская 8, офис 99, +7 (4812) 12-23-90