xobotyi / basen
PHP 的文本和整数编码工具,无扩展依赖。Base32, Base58, Base64 等更多!
v1.0.0
2018-06-29 19:52 UTC
Requires
- php: >=7.1
Requires (Dev)
- codacy/coverage: ^1.4.0
- phpunit/phpunit: ^6.5.3
This package is auto-updated.
Last update: 2024-09-22 00:41:07 UTC
README
关于
PHP 是一种伟大的语言,但不幸的是,它只提供一种文本编码(base64),而且甚至不是 URL 安全的。而且没有直接的方法来改变它的字母表。
BaseN 解决了这个问题,并实现了常见二进制到文本算法,其字母表完全覆盖与其长度相对应的位数。还有一个粗略的算法,它会单独编码每个字节,它不够紧凑,但保证了使用给定字母表的编码。
此外,它还提供了编码和解码整数本身的方法,而不是它们的文本表示。
要求
- PHP 7.1+
安装
使用 composer 安装
composer require xobotyi/basen
用法
use xobotyi\basen\BaseN; use xobotyi\basen\Base58; // use it for something usual $base8 = new BaseN('01234567', false, false, false); echo $base8->encode(16) . "\n"; // 142330 echo $base8->encodeInt(16) . "\n"; // 20 // or create your own encoder with own alphabet if needed $myOwnEncoder = new BaseN('a123d8e4fiwnmqkl', false, true, true); echo $myOwnEncoder->encode(16) . "\n"; // 313e echo $myOwnEncoder->encodeInt(16) . "\n"; // 1a // predefined encoder echo Base58::encode(16) . "\n"; // 3hC // or, with alternative alphabet echo Base58::encode(16, Base58::ALPHABET_RIPPLE) . "\n"; // hkD echo Base58::encodeInt(16) . "\n"; // G
内置编码
BaseN 提供了几个类,实现了大多数流行的编码