cartware/custombase

A PHP port of Elixir's CustomBase module

1.0.0 2022-04-01 08:21 UTC

This package is auto-updated.

Last update: 2024-05-29 04:55:46 UTC


README

A PHP port of Elixir's CustomBase module

Example

Lets make Base12 module with conversion described below.

Value Encoding
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 A
11 B
use Cartware\CustomBase\CustomBase;

class Base12 {
	use CustomBase;
	protected const CUSTOMBASE_ALPHABET = '0123456789AB';
}

Now your class has 2 functions encode/1 and decode/1:

$base12 = new Base12();

$base12->encode(9); # 9
$base12->encode(10); # A
$base12->encode(11); # B
$base12->encode(12); # 10

$base12->decode(16); # 18
$base12->decode('AB'); # 131

License

Released under the MIT License.