繁体   English   中英

将str转换为&[u8]

[英]Converting a str to a &[u8]

这看起来微不足道,但我找不到办法。

例如,

fn f(s: &[u8]) {}

pub fn main() {
    let x = "a";
    f(x)
}

无法编译:

error: mismatched types:
 expected `&[u8]`,
    found `&str`
(expected slice,
    found str) [E0308]

但是, 文件指出:

strs的实际表示具有与切片的直接映射:&str与&[u8]相同。

您可以使用as_bytes方法:

fn f(s: &[u8]) {}

pub fn main() {
    let x = "a";
    f(x.as_bytes())
}

或者,在您的具体示例中,您可以使用字节文字:

let x = b"a";
f(x)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM