Skip to content

Encode/decode numbers using Douglas Crockford's Base32 Encoding

License

Notifications You must be signed in to change notification settings

dflydev/dflydev-base32-crockford

Repository files navigation

Base32 Crockford Encoder and Decoder

A Base32 Crockford implementation for PHP.

Example

use Dflydev\Base32\Crockford\Crockford;

$encodedValue = Crockford::encode('519571'); // FVCK
$decodedValue = Crockford::decode('FVCK'); // 519571

$encodedValue = Crockford::encodeWithChecksum('519571'); // FVCKH
$decodedValue = Crockford::decodeWithChecksum('FVCKH'); // 519571

By default, decoding will be lenient on the input values. This will allow for passing in the following:

$decodedValue = Crockford::decode('F-VCk'); // treated as: FVCK
$decodedValue = Crockford::decode('hEl1O'); // treated as: HE110

See the spec for the translation rules.

Decoding can be made strict by passing an optional second argument to the decode methods.

Crockford::decode('F-VCk', Crockford::NORMALIZE_ERRMODE_EXCEPTION);
Crockford::decode('hEl1O', Crockford::NORMALIZE_ERRMODE_EXCEPTION);

Requirements

  • PHP 5.3+

License

MIT, see LICENSE.

Community

If you have questions or want to help out, join us in the #dflydev channel on irc.freenode.net.

Not Invented Here

This is a port of Encode::Base32::Crockford.

About

Encode/decode numbers using Douglas Crockford's Base32 Encoding

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages