Bencode
Bencode er et dataformat . Det er gjennom delings - protokollen BitTorrent brukes til å lagre og utveksle data.
Formatet støtter fire datatyper .
- Hele tall .
- Strenger med variabel lengde.
- Lister.
- Assosiative lister .
Bencode brukes blant annet i .torrentfiler. Den BitTorrent standard angitt til det faktum at disse filene i spesifikasjonen også kalt metainfo filene skal være bencodete assosiative lister.
Siden det er en relativt enkel algoritme, kan Bencode implementeres og analyseres veldig enkelt . Det er også immun mot noen av problemene som binære formater ofte støter på. For eksempel er byteordren irrelevant.
Koding
Bencode bruker ASCII- bokstaver som skilletegn.
tall
Tall er i<zahl>ekodet som. Det er <zahl>ASCII-versjonsnummeret, base 10. Negative tall skrives med et minus-symbol. Bencode støtter ikke fastpunkt eller flytende nummer .
| Antall | Bencode |
|---|---|
| −234 |
i-234e
|
| 0 |
i0e
|
| 29410 |
i29410e
|
Strenger
Strenger <länge>:<inhalt>sendes ut som. Her er <länge>lengden, basen 10 og <inhalt>selve strengen. Tomme strenger sendes ut med lengden null.
| String | Bencode |
|---|---|
| −234 |
0:
|
| Hei Verden |
10:Hallo Welt
|
Lister
Lister l<inhalt>esendes ut som. Det er <inhalt>de foret, bencodeten elementene i listen, i den rekkefølgen de skal vises. En liste kan inneholde en blanding av forskjellige datatyper (f.eks. En blanding av tall og strenger). En tom liste lesendes ut som (dvs. uten innhold).
| innhold | Bencode |
|---|---|
| [] |
le
|
| [595] |
li595ee
|
| [Hei der] |
l5:Halloe
|
| [-343, Hei, 555, [], [5]] |
li-343e5:Halloi555eleli5eee
|
Ordbøker
Assosiative lister, også kalt ordbøker på engelsk (og i spesifikasjonen) , vises i denne formen, i likhet med normale lister d<inhalt>e. Innholdet består av lenke par med to elementer, en nøkkel og en verdi . Parrenes rekkefølge må være i leksokografisk rekkefølge . En tom ordbok desendes ut som.
| innhold | Bencode |
|---|---|
| {} |
de
|
| {Name => Thomas, age => 34} |
d4:Name6:Thomas5:Alteri34ee
|
Se også
Individuelle bevis
- ↑ Bit Torrent Protocol-spesifikasjonen . BitTorrent.org. Hentet 8. oktober 2018.
- ↑ BitTorrent-spesifikasjonen v1.0: Bencoding . Theory.org. Hentet 9. oktober 2018.