An open API service indexing awesome lists of open source software.

https://github.com/knightpp/serde_bencoded

Yet another encoding/decoding library for bencode
https://github.com/knightpp/serde_bencoded

bencode rust torrent

Last synced: 10 months ago
JSON representation

Yet another encoding/decoding library for bencode

Awesome Lists containing this project

README

          

[![crates.io](https://img.shields.io/crates/v/serde_bencoded.svg)](https://crates.io/crates/serde_bencoded)
[![Docs](https://docs.rs/serde_bencoded/badge.svg)](https://docs.rs/serde_bencoded/)
[![dependency status](https://deps.rs/crate/serde_bencoded/latest/status.svg)](https://deps.rs/crate/serde_bencoded/)

# Crate for encoding/decoding bencode

What is bencode? It's the encoding mostly used in `.torrent` files and BitTorrent protocol.
For more info see [bep_0003](https://www.bittorrent.org/beps/bep_0003.html).

# Quick example

See `examples` directory

```rust
#[derive(Debug, Serialize, Deserialize)]
struct MetaInfo {
info: Info,
announce: String,
#[serde(rename = "announce-list")]
announce_list: Option>>,
#[serde(rename = "creation date")]
creation_date: Option,
comment: Option,
#[serde(rename = "created by")]
created_by: Option,
encoding: Option,
}

fn main(){
let string = serde_bencoded::to_string(&MetaInfo{...}).unwrap;
let mi: MetaInfo = serde_bencoded::from_str(&string).unwrap();
}
```