Bencode
Bencode on tietomuoto . Se on kautta jakaminen - protokollaa BitTorrent avulla tallennetaan ja vaihtaa tietoja.
Muoto tukee neljää tietotyyppiä .
- Kokonaiset numerot .
- Vaihtelevat jouset .
- Luettelot.
- Assosiatiiviset luettelot .
Bencodea käytetään muun muassa .torrenttiedostoissa. BitTorrent standardi määritelty, että nämä tiedostot selityksessä kutsutaan myös metatietojaJoitakin tiedostot pitäisi bencodete assosiatiivinen listoja.
Koska se on suhteellisen yksinkertainen algoritmi, Bencode voidaan toteuttaa ja jäsentää hyvin helposti . Se on myös immuuni joillekin ongelmille, joita binaarimuodot usein kohtaavat. Esimerkiksi tavujärjestyksellä ei ole merkitystä.
Koodaus
Bencode käyttää ASCII- kirjaimia erottimina.
numerot
Numerot i<zahl>ekoodataan nimellä. Se on <zahl>ASCII-versionumero, perustaso 10. Negatiiviset numerot kirjoitetaan miinusmerkillä. Bencode ei tue kiinteän pisteen tai liukuluvun numeroita .
| määrä | Bencode |
|---|---|
| −234 |
i-234e
|
| 0 |
i0e
|
| 29410 |
i29410e
|
Jouset
Merkkijonot <länge>:<inhalt>tuotetaan muodossa. Tässä on <länge>pituus, pohja 10 ja <inhalt>merkkijono itse. Tyhjät merkkijonot tulostetaan pituudeltaan nolla.
| Merkkijono | Bencode |
|---|---|
| −234 |
0:
|
| Hei maailma |
10:Hallo Welt
|
Luettelot
Luettelot l<inhalt>etulostetaan muodossa. Se on <inhalt>luettelon viivoitetut, bencodeten-elementit siinä järjestyksessä kuin niiden pitäisi näkyä. Luettelo voi sisältää sekoituksen erilaisia tietotyyppejä (esim. Numeroiden ja merkkijonojen sekoitus). Tyhjä luettelo letulostetaan muodossa (ts. Ilman sisältöä).
| sisältö | Bencode |
|---|---|
| [] |
le
|
| [595] |
li595ee
|
| [Hei siellä] |
l5:Halloe
|
| [-343, Hei, 555, [], [5]] |
li-343e5:Halloi555eleli5eee
|
Sanakirjat
Assosiatiiviset luettelot, joita kutsutaan myös englanninkielisiksi sanakirjoiksi (ja eritelmiksi) , näytetään tässä muodossa tavallisten luetteloiden tapaan d<inhalt>e. Sisältö koostuu kahden elementin, avaimen ja arvon ketjutetuista pareista . Parien järjestyksen on oltava leksokografisessa järjestyksessä . Tyhjä sanakirja detulostetaan muodossa.
| sisältö | Bencode |
|---|---|
| {} |
de
|
| {Nimi => Thomas, ikä => 34} |
d4:Name6:Thomas5:Alteri34ee
|
Katso myös
Yksittäiset todisteet
- ↑ Bit Torrent -protokollan määritys . BitTorrent.org. Haettu 8. lokakuuta 2018.
- ↑ BitTorrent Specification v1.0: koodaus . Theory.org. Haettu 9. lokakuuta 2018.