Download the PHP package zeran/byte-buffer without Composer
On this page you can find all versions of the php package zeran/byte-buffer. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download zeran/byte-buffer
More information about zeran/byte-buffer
Files in zeran/byte-buffer
Package byte-buffer
Short Description Php library to parse and build byte buffer
License GPL-3.0-or-later
Informations about the package byte-buffer
Zeran ByteBuffer
A PHP library for binary data manipulation with support for multiple buffer implementations.
Introduction
Zeran ByteBuffer is a powerful library for manipulating binary data in PHP. It provides a consistent interface for working with byte arrays and binary strings, supporting operations like reading and writing integers, floats, doubles, and strings in both little-endian and big-endian formats.
The library includes two primary implementations:
ArrayBuffer
: Stores data as an array of integersStringBuffer
: Stores data as a string, which can be more memory-efficient
Installation
You can install the package via composer:
Usage
Basic Usage
Creating Buffers
Integers (Signed and Unsigned)
Floating-point numbers
Strings and Bytes
Arrays/Lists
Buffer Management
Type Range Limitations
The library automatically validates that values fit within their specified type ranges:
Type | Size (bytes) | Range |
---|---|---|
Int8 | 1 | -128 to 127 |
UInt8 | 1 | 0 to 255 |
Int16 | 2 | -32,768 to 32,767 |
UInt16 | 2 | 0 to 65,535 |
Int24 | 3 | -8,388,608 to 8,388,607 |
UInt24 | 3 | 0 to 16,777,215 |
Int32 | 4 | -2,147,483,648 to 2,147,483,647 |
UInt32 | 4 | 0 to 4,294,967,295 |
Int64 | 8 | -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 |
UInt64 | 8 | 0 to 18,446,744,073,709,551,615 |
Endianness
Most methods come in two variants:
- Standard (e.g.,
writeInt32
): Uses little-endian (least significant byte first) - BE suffix (e.g.,
writeInt32BE
): Uses big-endian (most significant byte first)
Which Implementation to Use?
ArrayBuffer
: Better for cases where you need to manipulate individual bytes frequentlyStringBuffer
: More memory-efficient for larger buffers when you primarily write and read sequentially
Both implementations share the same interface (BufferInterface
), so your code can switch between them without changes.
Testing
License
The MIT License (MIT). Please see License File for more information.