gpt4 book ai didi

base64 - 在 Rust 中将 `~str` 编码为 base64

转载 作者:行者123 更新时间:2023-11-29 08:02:43 24 4
gpt4 key购买 nike

我想在 Rust 中将 ~str 编码为 base64,以实现 HTTP 基本身份验证。

我找到了 extra::base64,但我不明白它应该如何使用。 ToBase64 特征似乎有 &[u8] 的实现,但编译器找不到。以下测试程序:

extern mod extra;

fn main() {
use extra::base64::MIME;

let mut config = MIME;
config.line_length = None;
let foo = ::std::os::args()[0];
print(foo.as_bytes().to_base64(config));
}

在 Rust 0.9 上失败并出现以下错误:

rustc -o test test.rs
test.rs:9:11: 9:44 error: type `&[u8]` does not implement any method in scope named `to_base64`
test.rs:9 print(foo.as_bytes().to_base64(config));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

我错过了什么?

最佳答案

The ToBase64 trait seems to have an implementation for &[u8], but it's not found by the compiler.

确实,编译器在您的代码中找不到它,因为您没有导入它。为了使用特征实现,你必须导入特征本身:

extern mod extra;

fn main() {
use extra::base64::{ToBase64, MIME};

let mut config = MIME;
config.line_length = None;
let foo = ::std::os::args()[1];
print(foo.as_bytes().to_base64(config));
}

(我已将 args()[0] 更改为 args()[1] 因为对命令行参数进行编码比仅对可执行文件名称进行编码更有趣:))

关于base64 - 在 Rust 中将 `~str` 编码为 base64,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21814304/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com