Ecosyste.ms: Awesome

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

https://github.com/alehander92/bencoder

a library to handle bencode in elixir
https://github.com/alehander92/bencoder

Last synced: about 2 months ago
JSON representation

a library to handle bencode in elixir

Lists

README

        

Bencoder
========

[![Build Status](https://travis-ci.org/alehander42/bencoder.svg)](https://travis-ci.org/alehander42/bencoder)

An elixir bencoding package

It's intended for the [`yolandi`](https://github.com/alehander42/yolandi) torrent client

**Beware**

That's a learning exercise for me in elixir/erlang, so the code is still not clean and non idiomatic

Bencode format supports 4 types of data: numbers, dictionaries and lists.
`Bencoder` uses elixir's `Integer`, `Map`, `List` and `BitString`.

Examples:

```elixir
Bencoder.encode(2) # "i2e"
Bencoder.encode([4, 202]) # "li4ei202ee"
```

```elixir
Bencoder.decode("4:life") # "life"
Bencoder.decode("d4:lifei42ee") # %{"life" => 42}
Bencoder.decode("i42e") # 42
Bencoder.decode("l1:~e") # ["~"]
```

## Install

Add to your mix.exs deps

```elixir
{:bencoder, "~> 0.0.7"}
```

## Copyright

Copyright (c) 2014 Alexander Ivanov. See [LICENSE](LICENSE) for further details