podoko/bencode

library to read and write files using the bencode format

Maintainers

Package info

github.com/podoko/php-bencode

pkg:composer/podoko/bencode

Statistics

Installs: 1

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

0.1.0 2026-02-10 00:08 UTC

This package is auto-updated.

Last update: 2026-04-10 00:39:39 UTC


README

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