1

我正在编写一个代码,它使用check将数组/切片/向量转换为 B58 编码的字符串。以下是相关代码摘录:

use bs58;
i = b"Hello"; // or
i = [0,1,2,3]; // or
i = vec![0,1,2,3];
let e = bs58::encode(i).with_check().into_string();

无论我向 bs58::encode() 提供什么类型,它都会错误地指出方法 with_check() not found。来自 Python,这真的很令人沮丧,因为我必须花费数小时调试应该可以正常工作的简单东西。

4

1 回答 1

3

如果您查看bs58::encode的 API 文档,您会看到它返回一个EncodeBuilder

查看相关文档,您会看到有一个with_check方法,但它附有一条注释:

这仅在 crate 功能检查中受支持。

Rust 支持定义可选功能的 crates - 这些功能通常具有并非在所有情况下都需要的额外依赖项,因此默认情况下它们是关闭的。

您可以在Cargo.toml文件中启用额外功能,如下所示:

[dependancies]
bs58 = { version="0.4.0", features=["check"] }

另请参阅货运手册的功能部分。

于 2021-08-04T23:29:15.470 回答