buffertools-php icon indicating copy to clipboard operation
buffertools-php copied to clipboard

Toolbox for working with binary and hex data. Similar to NodeJS Buffer.

Buffertools

This library provides a Buffer and Parser class to make dealing with binary data in PHP easier. Templates extend this by offering a read/write interface for larger serialized structures.

Build Status Code Coverage Scrutinizer Code Quality Latest Stable Version Total Downloads License

Requirements:

  • PHP 7.0+
  • Composer
  • ext-gmp

Installation

You can install this library via Composer: composer require bitwasp/buffertools

Examples

Buffer's are immutable classes to store binary data. Buffer::hex can be used to initialize from hex Buffer::int can be used to initialize from a positive decimal integer (int|string)

Buffer's main methods are:

  • getBinary()
  • getHex()
  • getInt()

Parser will read Buffers. Parser's main methods are:

  • readBytes()
  • writeBytes()
  • readArray()
  • writeArray()

In most cases, the interface offered by Parser should not be used directly. Instead, Templates expose read/write access to larger serialized structures.

  • Example 1: Using buffer to wrap binary data
  • Example 2: Using parser to extract binary data
  • Example 3: Using templates to read multiple elements from a parser
  • Example 4: Using templates to read/write structured messages