Bencode

Bencode est un format de données . Il est par le partage - protocole BitTorrent utilisé pour stocker et échanger des données.

Le format prend en charge quatre types de données .

Bencode est utilisé, entre autres, dans les .torrentfichiers. Le standard BitTorrent spécifiait que ces fichiers dans la spécification également appelés fichiers MetaInfo devraient être des listes associatives bencodete.

Puisqu'il s'agit d'un algorithme relativement simple, Bencode peut être implémenté et analysé très facilement . Il est également immunisé contre certains des problèmes que rencontrent souvent les formats binaires. Par exemple, l' ordre des octets n'est pas pertinent.

Codage

Bencode utilise des lettres ASCII comme séparateurs.

Nombres

Les nombres sont i<zahl>ecodés comme. Il s'agit <zahl>du numéro de version ASCII, base 10. Les nombres négatifs sont écrits avec un symbole moins. Bencode ne prend pas en charge les nombres à virgule fixe ou flottante .

nombre Bencode
−234 i-234e
0 i0e
29410 i29410e

Cordes

Les chaînes sont <länge>:<inhalt>sorties sous la forme. Voici <länge>la longueur, la base 10 et <inhalt>la chaîne elle-même. Les chaînes vides sont émises avec la longueur zéro.

Chaîne Bencode
−234 0:
Bonjour le monde 10:Hallo Welt

Listes

Les listes sont l<inhalt>egénérées sous la forme. Ce sont <inhalt>les éléments bencodeten lignés de la liste, dans l'ordre dans lequel ils doivent apparaître. Une liste peut contenir un mélange de différents types de données (par exemple, un mélange de nombres et de chaînes). Une liste vide est lesortie comme (c'est-à-dire sans contenu).

contenu Bencode
[] le
[595] li595ee
[Salut] l5:Halloe
[-343, Bonjour, 555, [], [5]] li-343e5:Halloi555eleli5eee

Dictionnaires

Les listes associatives, également appelées dictionnaires en anglais (et dans la spécification) , sont affichées sous cette forme, similaire aux listes normales d<inhalt>e. Le contenu se compose de paires chaînées de deux éléments, une clé et une valeur . L'ordre des paires doit être dans l' ordre lexocographique . Un dictionnaire vide est deaffiché sous la forme.

contenu Bencode
{} de
{Nom => Thomas, âge => 34} d4:Name6:Thomas5:Alteri34ee

Voir également

Preuve individuelle

  1. La spécification du protocole Bit Torrent . BitTorrent.org. Récupéré le 8 octobre 2018.
  2. La spécification BitTorrent v1.0: Bencoding . Theory.org. Récupéré le 9 octobre 2018.