Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A Bencode serializer and deserializer in pure PHP.
PHP
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
examples
lib/Bencoder
tests
LICENSE
README.md
VERSION
autoload.php
composer.json
phpunit.xml.dist

README.md

Bencoder

About

Bencoder is an utility class implemented in pure PHP that handles the serialization and deserialization of objects using the Bencode encoding format.

The original implementation of this class dates back to the early months of 2004 and it has been somewhat adapted and updated in order to work with modern versions of the PHP interpreter right before making it public. Basically I am making this library open source just because someone might find it useful and it would be a shame to let it rot in the meanders of my backups.

Implementation details

  • As per specifications, this class does not handle float / double values.
  • The serialization and deserialization of integers greater than 2147483647 works only when using a 64bit PHP interpreter.
  • PHP arrays containing one or more string values as keys are interpreted as Bencode dictionaries.
  • The serializer does not check for circular references and it breaks generating a stack overflow error.

Example

<?php
require 'autoloader.php';

use Bencoder\Bencode;

$structure = array("oh", "rly?", "ya", "rly!");
$encoded = Bencode::encode($structure);
$decoded = Bencode::decode($encoded);

Author

License

The code for Bencoder is distributed under the terms of the MIT license (see LICENSE).

Something went wrong with that request. Please try again.