0x001 概念
char类型
用于存放单个unicode字符,占用4个字节空间(32bit)
在存储char类型数据时,会将其转换为UTF-8编码的数据(即unicode代码点)进行存储。
它可以表示各种语言的字符,包括ASCII字符和多字节字符。
Unicode标量值是char类型的一个变体,它可以表示Unicode字符集中的任何字符。因为Unicode字符集非常庞大,所以char类型需要4个字节的内存空间来表示字符。
0x002 用法及示例
char的内存占用长度
在rust中,一个char占用4个字节,可以通过下面的代码来验证:
let v =vec!['h','e','l','l','o'];
println!("{}",v.len()); // 结果为5
println!("{}",v.len() * std::men::size_of::<char>()); //结果为20
这段代码的作用是输出一个字符数组 ['h', 'e', 'l', 'l', 'o']
的长度和它所占用的内存空间大小(以字节为单位)。
第一行代码 println!("{}",v.len());
输出的是字符数组的长度,即 5。
第二行代码 println!("{}",v.len() * std::men::size_of::<char>());
输出的是字符数组所占用的内存空