type-conversion - 如何将字符串转换为使用rust 的字节向量?

标签 type-conversion rust

这可能是有史以来最愚蠢的 RuSTLang 问题,但我保证我已尽力在文档或网络上的任何其他地方找到答案。

我可以像这样将字符串转换为字节向量:

let bar = bytes!("some string");

不幸的是我不能这样做

let foo = "some string";
let bar = bytes!(foo);

因为 bytes! 需要一个字符串文字。

但是,如何将我的 foo 转换为字节向量?

最佳答案

(&str).as_bytes 给你一个字符串的 View &[u8]字节切片(可以在 String 上调用,因为它取消了对 str 的引用,还有 String.into_bytes 将消耗一个 String 给你一个 Vec<u8>

使用 .as_bytes如果您不需要字节的所有权,请使用版本。

fn main() {
    let string = "foo";
    println!("{:?}", string.as_bytes()); // prints [102, 111, 111]
}

顺便说一句,naming conventions for conversion functions在这种情况下很有帮助,因为它们可以让您大致知道您可能要查找的名称。

关于type-conversion - 如何将字符串转换为使用rust 的字节向量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23850486/

相关文章:

c++ - C++ 中的 float 转换实际上是如何完成的?( double 到 float 或 float 到 double )

c - 这是怎么回事?

c++ - 转换运算符和函数查找的问题

c++ - SSE:从 const __m128 * 转换为 const float *

rust - 是否可以借用结构的一部分作为可变部分而其他部分作为不可变部分?

rust - 如何检查目录大小?

json - 如何将字节流从 reqwest 响应反序列化为 JSON?

string - 方案:如何将字符转换为数字/字符串

functional-programming - 迭代连续折叠结果的惯用和功能方法是什么?

rust - 如何将文字字符串与 const 字符串连接起来?