Base58
ethers.utils.base58.decode( textData ) ⇒ Uint8Array
返回textData(经过base-58编码)解码成Uint8Array类型的数据。
base58.decode("TzMhH");
// Uint8Array [ 18, 52, 86, 120 ]
ethers.utils.base58.encode( aBytesLike ) ⇒ string
返回aBytesLike(经过base-58编码)解码成字符串类型的数据。
base58.encode("0x12345678");
// 'TzMhH'
base58.encode([ 0x12, 0x34, 0x56, 0x78 ]);
// 'TzMhH'
返回textData(经过base-64编码)解码成Uint8Array类型的数据。
base64.decode("EjQ=");
// Uint8Array [ 18, 52 ]
返回aBytesLike(经过base-64编码)解码成字符串类型的数据。
base64.encode("0x1234");
// 'EjQ='
base64.encode([ 0x12, 0x34 ]);
// 'EjQ='
递归长度前缀编码(Recursive Length PrefixRLP编码)在以太坊中被用来序列化数组和数据的嵌套结构。
将结构化数据对象编码到RLP编码的形式。
RLP.encode("0x12345678");
// '0x8412345678'
RLP.encode([ "0x12345678" ]);
// '0xc58412345678'
RLP.encode([ new Uint8Array([ 0x12, 0x34, 0x56, 0x78 ]) ]);
// '0xc58412345678'
RLP.encode([ [ "0x42", [ "0x43" ] ], "0x12345678", [ ] ]);
// '0xcac342c1438412345678c0'
RLP.encode([ ]);
// '0xc0'
将RLP编码的aBytesLike解码为其结构化数据对象。
所有的Data组件将作为一个DataHexString返回。
RLP.decode("0x8412345678");
// '0x12345678'
RLP.decode("0xcac342c1438412345678c0");
// [
// [
// '0x42',
// [
// '0x43'
// ]
// ],
// '0x12345678',
// []
// ]
RLP.decode("0xc0");
// []
数据对象是一种递归结构,用于序列化以太坊中的许多内部结构。每个数据对象可以是:
- 二进制数据
- 一个数据对象数组 (即递归嵌套结构)
Examples
"0x1234"
[ "0x1234", [ "0xdead", "0xbeef" ], [ ] ]
The content of this site is licensed under the Creative Commons License. Generated on January 11, 2023, 9:24pm.