xiangdangdang / rlp
PHP中的递归长度前缀编码。
0.3.5
2021-07-20 04:54 UTC
Requires
- php: >=5.6
- ext-mbstring: *
Requires (Dev)
- php: >=5.6
- phpseclib/phpseclib: ^3.0.1
- phpunit/phpunit: 5.7.27|6.5
README
PHP中的递归长度前缀编码。
安装
设置最小稳定性为dev
composer require web3p/rlp
用法
RLP编码
use Web3p\RLP\RLP; $rlp = new RLP; // c483646f67 $encoded = $rlp->encode(['dog']); // 83646f67 $encoded = $rlp->encode('dog');
RLP解码
use Web3p\RLP\RLP; use Web3p\RLP\Types\Str; $rlp = new RLP; $encoded = $rlp->encode(['dog']); // only accept 0x prefixed hex string $decoded = $rlp->decode('0x' . $encoded); // show 646f67 echo $decoded[0]; // show dog echo hex2bin($decoded[0]); // or you can echo Str::decodeHex($decoded[0]);
API
Web3p\RLP\RLP
encode
返回给定输入的递归长度前缀编码。
encode(mixed $inputs)
混合输入 - 字符串、整数或数字字符串的数组。
注意:输出不以零开头。
示例
- 编码字符串数组。
use Web3p\RLP\RLP; $rlp = new RLP; $encoded = $rlp->encode(['web3p', 'ethereum', 'solidity']);
decode
返回给定数据的递归长度前缀解码数组。
decode(string $input)
字符串输入 - 递归长度前缀编码字符串。
注意:输出不以零开头。
示例
- 解码递归长度前缀编码字符串。
use Web3p\RLP\RLP; use Web3p\RLP\Types\Str; $rlp = new RLP; $encoded = $rlp->encode(['web3p', 'ethereum', 'solidity']); $decoded = $rlp->decode('0x' . $encoded); // echo web3p echo hex2bin($decoded[0]); // echo ethereum echo hex2bin($decoded[1]); // echo solidity echo hex2bin($decoded[2]); // or you can echo Str::decodeHex($decoded[0]); echo Str::decodeHex($decoded[1]); echo Str::decodeHex($decoded[2]);
许可证
MIT