web3p / rlp
PHP中的递归长度前缀编码。
0.3.5
2022-04-27 06:14 UTC
Requires
- php: ^7.1 | ^8.0
- ext-mbstring: *
Requires (Dev)
- phpunit/phpunit: ~7|~8.0
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