Skip to content

Latest commit

 

History

History
102 lines (71 loc) · 2.47 KB

README.md

File metadata and controls

102 lines (71 loc) · 2.47 KB

Bencode serialization for PHP

Latest Version on Packagist Software License Build Status Quality Score Total Downloads

This library allows developers to encode or decode bencoded data strings in PHP 5.3+. More information about bencode can be found at Wikipedia. The format is primarily used in the .torrent file specification.

Install

Via Composer

$ composer require rych/bencode

Usage

Encoding an array

<?php

use Rych\Bencode\Bencode;

$data = array(
    "string" => "bar",
    "integer" => 42,
    "array" => array(
        "one",
        "two",
        "three",
    ),
);

echo Bencode::encode($data);

The above produces the string d5:arrayl3:one3:two5:threee7:integeri42e6:string3:bare.

Decoding a string

<?php

use Rych\Bencode\Bencode;

$string = "d5:arrayl3:one3:two5:threee7:integeri42e6:string3:bare";

print_r(Bencode::decode($string));

The above produces the the following output:

Array
(
    [array] => Array
        (
            [0] => one
            [1] => two
            [2] => three
        )

    [integer] => 42
    [string] => bar
)

Testing

$ vendor/bin/phpunit -c phpunit.dist.xml

License

The MIT License (MIT). Please see License File for more information.