Bencode
Bencode è un formato dati . E 'attraverso la condivisione - protocollo BitTorrent utilizzati per memorizzare e scambiare dati.
Il formato supporta quattro tipi di dati .
- Numeri interi .
- Stringhe di lunghezza variabile.
- Liste.
- Elenchi associativi .
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
- ↑ La specifica del protocollo Bit Torrent . BitTorrent.org. URL consultato l'8 ottobre 2018.
- ↑ La specifica BitTorrent v1.0: Bencoding . Theory.org. Estratto il 9 ottobre 2018.