Skip to content

podoko/php-bencode

Repository files navigation

PHP Encode/Decode Library

A lightweight PHP library for encoding and decoding data in a simple, consistent way.## What is Bencode?

What is Bencode?

Bencode is a data serialization format originally developed for the BitTorrent protocol. It supports integers, byte strings, lists, and dictionaries in a compact and deterministic format.

Learn more: https://en.wikipedia.org/wiki/Bencode

Requirements

  • PHP >= 8.4

Installation

Via Composer

composer require podoko/php-bencode

Usage

Encoding

use Podoko\Bencode\Encoder;

$encoder = new Encoder();
$encoded = $encoder->encode('Hello World!'); // d12:Hello World!

Decoding

use Podoko\Bencode\Decoder;

$decoder = new Decoder();
$decoded = $decoder->decode('d12:Hello World!'); // "Hello World!"

The decoder is intentionally lenient. It accepts data that is not strictly valid bencode, including:

  • Unsorted dictionary keys
  • Integers with leading zeros

This makes it suitable for parsing non-compliant or loosely formatted bencoded data

About

simple bencode encoder and decoder

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages