View Source erl_bencode

build codecov Release License Documentation

This is a library for encoding and decoding erlang terms to bencode text. An easy way to uniformly send information and data structures accross platforms and language.

IMPORTANT:

Encoding atoms and tuples are Erlang specific and is not intended to be used with other platforms or programing languages. Doing so will result in unknown errors.

Installation

Rebar3

erl_bencode is built using rebar3, if this library is used with rebar3 simply put it in your rebar.config file:

{deps, [
    erl_bencode
    ]}.

Other

If you don't use rebar3 it's possibly to get the latest version from gitlab.

Build

$ rebar3 compile

Test

Simply run eunit with rebar3

$ rebar3 eunit

Usage

Example

1> bencode:encode("Wardenclyffe").
{ok, "12:Wardenclyffe"}
2> bencode:decode("d6:wardeni23ee").
{ok, #{"warden" => 23}}
3> bencode:decode(valid_file_path).
{ok,#{"a" => "valid","file" => "path","this" => "is"}}
4>