Bencode

Bencode - это формат данных . Именно через обмен - протокол BitTorrent используется для хранения и обмена данными.

Формат поддерживает четыре типа данных .

Bencode используется, помимо прочего, в .torrentфайлах. Стандарт BitTorrent указывает на то, что эти файлы в спецификации также называются файлами MetaInfo, которые должны быть ассоциативными списками Bencodete.

Поскольку это относительно простой алгоритм, Bencode может быть легко реализован и проанализирован . Он также невосприимчив к некоторым проблемам, с которыми часто сталкиваются двоичные форматы. Например, порядок байтов не имеет значения.

Кодирование

Bencode использует буквы ASCII в качестве разделителей.

числа

Числа i<zahl>eкодируются как. Это <zahl>номер версии ASCII с основанием 10. Отрицательные числа записываются со знаком минус. Bencode не поддерживает числа с фиксированной или плавающей запятой .

количество Bencode
−234 i-234e
0 i0e
29410 i29410e

Струны

Строки <länge>:<inhalt>выводятся как. Вот <länge>длина, основание 10 и <inhalt>сама строка. Пустые строки выводятся с нулевой длиной.

Строка Bencode
−234 0:
Привет мир 10:Hallo Welt

Списки

Списки l<inhalt>eвыводятся как. Это <inhalt>линейные, закодированные элементы списка в том порядке, в котором они должны появляться. Список может содержать смесь разных типов данных (например, смесь чисел и строк). Пустой список leвыводится как (т.е. без содержимого).

содержание Bencode
[] le
[595] li595ee
[Всем привет] l5:Halloe
[-343, Здравствуйте, 555, [], [5]] li-343e5:Halloi555eleli5eee

Словари

Ассоциативные списки, также называемые словарями на английском языке (и в спецификации) , отображаются в этой форме, как и обычные списки d<inhalt>e. Контент состоит из связанных пар двух элементов, ключа и значения . Порядок пар должен быть лексокографическим . Пустой словарь deвыводится как.

содержание Bencode
{} de
{Имя => Томас, возраст => 34} d4:Name6:Thomas5:Alteri34ee

Смотри тоже

Индивидуальные доказательства

  1. Спецификация протокола Bit Torrent . BitTorrent.org. Проверено 8 октября 2018 года.
  2. Спецификация BitTorrent v1.0: Bencoding . Theory.org. Проверено 9 октября 2018 года.