bip_bencode 0.4.3

Efficient decoding and encoding for bencode
Documentation

Library for parsing and converting bencoded data.

Examples

Decoding bencoded data:

    extern crate bip_bencode;

    use std::default::Default;
    use bip_bencode::{BencodeRef, BRefAccess, BDecodeOpt};

    fn main() {
        let data = b"d12:lucky_numberi7ee";
        let bencode = BencodeRef::decode(data, BDecodeOpt::default()).unwrap();

        assert_eq!(7, bencode.dict().unwrap().lookup("lucky_number".as_bytes())
            .unwrap().int().unwrap());
    }

Encoding bencoded data:

    #[macro_use]
    extern crate bip_bencode;

    fn main() {
        let message = (ben_map!{
            "lucky_number" => ben_int!(7),
            "lucky_string" => ben_bytes!("7")
        }).encode();

        assert_eq!(&b"d12:lucky_numberi7e12:lucky_string1:7e"[..], &message[..]);
    }