Skip to content

tiny-blocks/encoder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Encoder

License

Overview

Encoder and decoder for arbitrary data.

Installation

composer require tiny-blocks/encoder

How to use

The library provides concrete implementations of the Encoder interface, enabling encoding and decoding of data into specific formats like Base62.

Using Base62

To encode a value into Base62 format:

$encoder = Base62::from(value: 'Hello world!');
$encoded = $encoder->encode();

# Output: T8dgcjRGuYUueWht

To decode a Base62-encoded value back to its original form:

$encoder = Base62::from(value: 'T8dgcjRGuYUueWht');
$decoded = $encoder->decode();

# Output: Hello world!

If you attempt to decode an invalid Base62 value, an InvalidDecoding exception will be thrown:

try {
    $encoder = Base62::from(value: 'invalid_value');
    $decoded = $encoder->decode();
} catch (InvalidDecoding $exception) {
    echo $exception->getMessage();
    # Output: The value <invalid_value> could not be decoded.
}

License

Encoder is licensed under MIT.

Contributing

Please follow the contributing guidelines to contribute to the project.