Encoder and decoder for arbitrary data.
composer require tiny-blocks/encoder
The library provides concrete implementations of the Encoder
interface, enabling encoding and decoding of data into
specific formats like 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.
}
Encoder is licensed under MIT.
Please follow the contributing guidelines to contribute to the project.