面试题答案
一键面试在Rust中,可以使用as_bytes
方法将UTF - 8编码的字符串str
转换为字节数组Vec<u8>
,示例代码如下:
fn main() {
let s = "你好";
let bytes: Vec<u8> = s.as_bytes().to_vec();
println!("{:?}", bytes);
}
字符编码处理原理:
- Rust中的
str
类型是UTF - 8编码的文本。每个字符可能由1到4个字节表示,具体取决于字符的Unicode码点。 as_bytes
方法直接返回字符串底层的字节表示,因为str
本身就是以UTF - 8编码存储的,所以转换过程只是提取这些已经编码好的字节,并将其放入Vec<u8>
中。这意味着字节数组中的内容与原字符串的UTF - 8编码字节序列完全一致。