Bencode

Bencode è un formato dati . E 'attraverso la condivisione - protocollo BitTorrent utilizzati per memorizzare e scambiare dati.

Il formato supporta quattro tipi di dati .

Bencode viene utilizzato, tra le altre cose, nei .torrentfile. Lo standard BitTorrent ha specificato il fatto che questi file nella specifica chiamati anche file MetaInfo dovrebbero essere elenchi associativi bencodete.

Poiché è un algoritmo relativamente semplice, Bencode può essere implementato e analizzato molto facilmente . È anche immune ad alcuni dei problemi che spesso incontrano i formati binari. Ad esempio, l' ordine dei byte è irrilevante.

Codifica

Bencode utilizza lettere ASCII come separatori.

numeri

I numeri sono i<zahl>ecodificati come. È <zahl>il numero di versione ASCII, base 10. I numeri negativi sono scritti con un simbolo meno. Bencode non supporta numeri in virgola fissa o virgola mobile .

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

stringhe

Le stringhe vengono <länge>:<inhalt>emesse come. Ecco <länge>la lunghezza, la base 10 e <inhalt>la stringa di caratteri stessa. Le stringhe vuote vengono emesse con la lunghezza zero.

Corda Bencode
−234 0:
Ciao mondo 10:Hallo Welt

Liste

Gli elenchi vengono l<inhalt>eemessi come file. Sono <inhalt>gli elementi a righe, bencodeten della lista, nell'ordine in cui dovrebbero apparire. Un elenco può contenere una combinazione di diversi tipi di dati (ad esempio una combinazione di numeri e stringhe). Viene visualizzato un elenco vuoto lecome (cioè senza contenuto).

soddisfare Bencode
[] le
[595] li595ee
[Ciao] l5:Halloe
[-343, Ciao, 555, [], [5]] li-343e5:Halloi555eleli5eee

Dizionari

Gli elenchi associativi, chiamati anche dizionari in inglese (e nelle specifiche) , vengono visualizzati in questa forma, in modo simile agli elenchi normali d<inhalt>e. Il contenuto è costituito da coppie concatenate di due elementi, una chiave e un valore . L'ordine delle coppie deve essere in ordine lessocografico . Viene deemesso un dizionario vuoto come.

soddisfare Bencode
{} de
{Name => Thomas, age => 34} d4:Name6:Thomas5:Alteri34ee

Guarda anche

Prove individuali

  1. La specifica del protocollo Bit Torrent . BitTorrent.org. URL consultato l'8 ottobre 2018.
  2. La specifica BitTorrent v1.0: Bencoding . Theory.org. Estratto il 9 ottobre 2018.