bip_bencode 0.3.1

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)
        }).encode();

        assert_eq!(&b"d12:lucky_numberi7ee"[..], &message[..]);
    }