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 .
- Des nombres entiers .
- Longueur variable des chaînes .
- Listes.
- Listes associatives .
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
- ↑ La spécification du protocole Bit Torrent . BitTorrent.org. Récupéré le 8 octobre 2018.
- ↑ La spécification BitTorrent v1.0: Bencoding . Theory.org. Récupéré le 9 octobre 2018.