Bencode
Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den
version , der blev gennemgået den 1. november 2019; verifikation kræver
1 redigering .
Bencode er et format, der bruges af BitTorrent p2p -fildistributionssystemet til lagring og transmission af løst strukturerede data.
Indeholder fire datatyper:
- byte streng,
- heltal,
- liste (array),
- ordbog (associativ array).
Bencode bruges i .torrent -filer , som er en ordbog i Bencode-format.
Kodning
Bencode bruger ASCII-tegn som skilletegn og tal.
- Et heltal skrives således: i <decimaltal> e . Tallet må ikke starte med et nul, men tallet nul skrives som i0e. Negative tal skrives med et minustegn foran tallet. Tallet -42 vil se sådan ud "i-42e".
- Bytestreng: <størrelse> : <indhold> . Størrelse er et positivt tal i decimalnotation, kan være nul; indhold er selve data, repræsenteret af en streng af bytes, der ikke indebærer nogen tegnkodning. Strengen "spam" i dette format ville se ud som "4:spam".
- Liste (array): l <indhold> e . Indholdet inkluderer alle Bencode-typer, der følger efter hinanden. En liste bestående af strengen "spam" og tallet 42 ville se sådan ud: "l4:spami42ee".
- Ordbog: d <indhold> e . Indholdet består af nøgle-værdi-par, der følger hinanden. Nøgler kan kun være en streng af bytes og skal bestilles i leksikografisk rækkefølge . Værdien kan være et hvilket som helst Bencode-element. Hvis vi kortlægger tasterne "bar" og "foo" til værdierne "spam" og 42, får vi: "d3:bar4:spam3:fooi42ee". (Hvis du tilføjer mellemrum mellem elementer, vil det være lettere at forstå strukturen: "d 3:bar 4:spam 3:foo i42e e" .)
Links