rust-|rust- 标准库 char
今天重新学习一下官方文档关于 char的部分: https://doc.rust-lang.org/std/char/index.html0x01 char的内存占用长度 在rust中, 一个char 占用4个字节, 可以通过下面的代码来验证:
let v = vec!['h', 'e', 'l', 'l', 'o'];
println!("{}", v.len());
println!("{}", v.len() * std::mem::size_of::());
----
5
20
同时, 如果我们想知道char在utf中实际长度是多少呢?可以如下方法获得:
println!("{}", 'A'.len_utf8());
println!("{}", '?'.len_utf8());
println!("{}", '?'.len_utf8());
println!("{}", ''.len_utf8());
----
1
2
3
4
0x02 chars字符长度 可以看到"abc".len() 方法执行结果是返回字节长度,
pub const fn len(&self) -> usize {
self.as_bytes().len()
}
【rust-|rust- 标准库 char】但更多时候,我们希望拿到它的unicode字符个数.
应该如何实现呢?
let cc = "love: ?";
println!("{}", &cc);
println!("byte len: {}", &cc.len());
println!("char count : {}", &cc.chars().count());
----
love: ?
byte len: 9
char count : 7
推荐阅读
- Docker应用:容器间通信与Mariadb数据库主从复制
- 太平之莲
- thinkphp|thinkphp 3.2 如何调用第三方类库
- 我正在参加安特思库共读一本书干法。
- Python爬虫|Python爬虫 --- 1.4 正则表达式(re库)
- 现役联盟前十怎么排(詹姆斯榜首无悬念!杜兰特库里位置不确定!)
- Android7.0|Android7.0 第三方应用无法访问私有库
- 数据库设计与优化
- 活跃社群的核心标准是什么()
- 数据库总结语句