Bencode

Bencode er et dataformat . Det er gjennom delings - protokollen BitTorrent brukes til å lagre og utveksle data.

Formatet støtter fire datatyper .

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

  1. Bit Torrent Protocol-spesifikasjonen . BitTorrent.org. Hentet 8. oktober 2018.
  2. BitTorrent-spesifikasjonen v1.0: Bencoding . Theory.org. Hentet 9. oktober 2018.