volcanus/radix-converter

此包已被废弃,不再维护。未推荐替代包。

1.0.1 2017-09-06 09:08 UTC

This package is auto-updated.

Last update: 2023-06-29 01:01:55 UTC


README

Latest Stable Version Build Status Coverage Status

##RadixConverter

这是一个执行N进制数转换的类。默认设置为62进制转换。

use \Volcanus\RadixConverter\RadixConverter;

$converter = new RadixConverter();
$converter->encode(62)->value(); // '10'
$converter->decode('10')->value(); // '62'

可以轻松地使用静态调用。

RadixConverter::encode(62); // '10'
RadixConverter::decode('10'); // 62

支持16进制和36进制的转换。

$converter->config('map', RadixConverter::MAP_HEXADECIMAL);
$converter->encode(65535)->value(); // 'ffff'
$converter->config('map', RadixConverter::MAP_ALPHANUMERIC_36);
$converter->encode(65535)->value(); // '1ekf'

也可以自定义转换。(不支持多字节)

$converter->config('map', 'OKNU');
$converter->encode(0)->value(); // 'O'
$converter->encode(4)->value(); // 'KO'
$converter->encode(16)->value(); // 'KOO'
$converter->encode(228)->value(); // 'UNKO'

在可以使用BC Math函数的环境中,如果启用acceptLong设置,则可以将PHP_INT_MAX以上的整数值作为字符串处理。

$converter->config('acceptLong', true);
$converter->encode('2147483648')->value(); // '2lkCB2'
$converter->encode('2147483648')->decode()->value(); // '2147483648'
$converter->encode('9223372036854775808')->value(); // 'aZl8N0y58M8'
$converter->encode('9223372036854775808')->decode()->value(); // '9223372036854775808'