Rust程序设计语言-字符串长度

2019-11-18  本文已影响0人  头上有煎饺

很多语言中,字符串的长度就是你所看见的那么长,因为一个字符串就相当于很多个Char类型的集合,

// js
"abc".length //=> 3
"123".length //=> 3
"你好吗".length //=> 3

而在Rust中,字符是按照UTF-8编码的大小来存的

// rust
"abc".length //=> 3
"123".length //=> 3
"你好吗".length //=> 9

英文字符、数字在UTF-8编码中占1个字节所以长度就是那么多,而中文每个字符占3个字节,所以长度为9

如何获取正确的长度呢

本书这一节有个方法可以间接的获取

fn main() {
  // 先将String转化为一个Chars类型
    let c = "नमस्ते".chars();
// 使用chars的方法count获取字符串长度
    println!("{}", c.count());
}

还有一个bytes方法,返回的每个字节的值的集合。

上一篇下一篇

猜你喜欢

热点阅读