String 如何在无std环境中连接字符串?

String 如何在无std环境中连接字符串?,string,rust,concatenation,String,Rust,Concatenation,我正在尝试连接两个字符串(&str),或者在不使用std的情况下转换字符串中的字节数组。我看到了core::str::from_utf8,但这不是我想要的 我在找类似的东西 let b: [u8; 2] = [97, 98]; let result: &str = core::str::array_to_string(b); // "ab" 或 另见。值得注意的是,第一句话:连接字符串时,需要分配内存来存储结果。在无std环境中,您没有分配器,因此您需要自己进行分配。这通常只是堆栈上的

我正在尝试连接两个字符串(
&str
),或者在不使用std的情况下转换字符串中的字节数组。我看到了
core::str::from_utf8
,但这不是我想要的

我在找类似的东西

let b: [u8; 2] = [97, 98];
let result: &str = core::str::array_to_string(b); // "ab"


另见。值得注意的是,第一句话:连接字符串时,需要分配内存来存储结果。在无std环境中,您没有分配器,因此您需要自己进行分配。这通常只是堆栈上的一个“足够大”的
u8
数组。另请参阅和讨论为什么即使您可以访问标准库,您提出的函数也没有意义。此外,
str::from_utf8
似乎正是您在第一个示例中所要求的,这似乎根本不涉及连接。它也有同样的问题,没有任何东西拥有底层字节。另请参阅。值得注意的是,第一句话:连接字符串时,需要分配内存来存储结果。在无std环境中,您没有分配器,因此您需要自己进行分配。这通常只是堆栈上的一个“足够大”的
u8
数组。另请参阅和讨论为什么即使您可以访问标准库,您提出的函数也没有意义。此外,
str::from_utf8
似乎正是您在第一个示例中所要求的,这似乎根本不涉及连接。它也有同样的问题,没有任何东西拥有底层字节。
let a: &str = "Hello ";
let b: &str = "world !";
let result: &str = core::str::concatenate(a, b);