编码器
Encoder<
TFrom
> =FixedSizeEncoder
<TFrom
> |VariableSizeEncoder
<TFrom
>
一个可以将类型为 TFrom 的值编码为 ReadonlyUint8Array 的对象。
Encoder
可以是:
- FixedSizeEncoder,其中所有编码后的值都具有相同的固定大小。
- VariableSizeEncoder,其中编码后的值的大小可以变化。
类型参数
类型参数 | 描述 |
---|---|
TFrom | 要编码的值的类型。 |
示例
将一个值编码为一个新的字节数组。
将编码后的值写入到现有的字节数组中。
备注
你可以使用 createEncoder 函数手动创建 Encoders
,但更常见的做法是
使用 @solana/codecs
包的各种帮助程序将多个 Encoders
组合在一起。
例如,以下是如何为包含 name
字符串和 age
数字的 Person
对象类型创建 Encoder
的方法:
请注意,组合的 Encoder
类型非常聪明,可以理解它们是固定大小还是可变大小。 在上面的示例中,getU32Encoder()
是
一个固定大小的编码器,而 addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())
是一个可变大小的编码器。 这使得最终的 Person
编码器成为一个可变大小的编码器。